在Python中,一个.py文件就称之为一个模块(Module)。
使用模块可以简化我们的开发,代码可以高效的复用。
模块
模块创建的注意事项:
- 模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
- 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行
import abc
,若成功则说明系统存在此模块。
使用模块
导入模块
语法为:
import xxx
这里我们导入一个最常用的math包:
import math # 导入math包
P = math.pi # 获取圆周率π
print(P) # 打印圆周率π
运行结果:
3.141592653589793
自己写模块进行导入
# 先在test.py文件中写一个方法
def power(n, i):
if i == 1:
return n
return n * power(n, i - 1)
# 在test1.py中调用这个方法
import test
print(test.power(10, 3))
运行结果:
1000
安装第三方模块
安装单一第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。
pip install xxx
安装常用模块
Anaconda是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们直接导入就可以了。
模块搜索路径
当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错:
>>> import mymodule
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named mymodule
默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys
模块的path
变量中:
import sys
print(sys.path)
运行结果:
[['D:\\WorkSpace\\Study\\pythonTest', 'D:\\WorkSpace\\Study\\pythonTest', 'C:\\SoftWare\\PyCharm 2019.2.3\\plugins\\python\\helpers\\pycharm_display', 'C:\\Users\\zhouzhaodong\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip', 'C:\\Users\\zhouzhaodong\\AppData\\Local\\Programs\\Python\\Python38\\DLLs', 'C:\\Users\\zhouzhaodong\\AppData\\Local\\Programs\\Python\\Python38\\lib', 'C:\\Users\\zhouzhaodong\\AppData\\Local\\Programs\\Python\\Python38', 'D:\\WorkSpace\\Study\\pythonTest\\venv', 'D:\\WorkSpace\\Study\\pythonTest\\venv\\lib\\site-packages', 'D:\\WorkSpace\\Study\\pythonTest\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.8.egg', 'D:\\WorkSpace\\Study\\pythonTest\\venv\\lib\\site-packages\\pip-19.0.3-py3.8.egg', 'C:\\SoftWare\\PyCharm 2019.2.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
]
如果我们要添加自己的搜索目录,有两种方法:
- 一是直接修改
sys.path
,添加要搜索的目录:
import sys
sys.path.append('添加的地址')
这种方法是在运行时修改,运行结束后失效。
第二种方法是设置环境变量PYTHONPATH
,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。