模块实际上就是 以.py为结尾的文件
注意点:自定义的模块尽量不要和系统模块重名
模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入,导入模块简单划分,实际上就只有两种:import ……
from …… import
详细一点划分有五种:
1,improt 模块名
调用:模块名.功能名
2,import 模块名 as 别名
调用:别名.功能名
3,from 模块名 import 功能名
调用:直接功能名
4,from 模块名 import 功能名 as 别名
调用: 直接拿别名来用
5,from 模块名 import * (用 * 号 一次性导入所有功能)
调用:直接功能名
注意点:* 号没法用别名
模块的搜索路径
sys.path 返回导入模块时的搜索路径集,是一个list列表。
从上面列出的目录里依次查找要导入的模块文件
’ ’ 表示当前路径
列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序
可以添加新的模块:
sys.path.append(‘/home/python/xxx’)
sys.path.insert(0, ‘/home/python/xxx’) # 可以确保先搜索这个路径
注意点:sys.path.append(path)和sys.path.insert(path)添加的相关路径,在退出交互式环境或者IDE后会自动消失。In [37]: sys.path.insert(0,"/home/python/xxxx")
In [38]: sys.path
Out[38]:
['/home/python/xxxx',
'',
'/usr/bin',
'/usr/lib/python35.zip',
'/usr/lib/python3.5',
'/usr/lib/python3.5/plat-x86_64-linux-gnu',
'/usr/lib/python3.5/lib-dynload',
'/usr/local/lib/python3.5/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3/dist-packages/IPython/extensions',
'/home/python/.ipython']