0%
前言
Python3模块和包学习笔记
导入模块
导入整个模块
导入指定模块的指定方法
导入指定模块的所有方法
别名
重命名整个模块
重命名指定功能
1
| from 模块名 import 功能名 as 别名
|
制作模块
定义模块
模块名.py
1 2 3 4 5 6 7
| 变量名 = 变量值
def 功能名(参数列表): ...
class 类名: ...
|
使用模块
1 2 3
| from 模块名 import 功能名
功能名(参数)
|
1 2 3 4 5 6 7 8 9 10
| import 模块名
模块名.变量名
模块名.函数名(参数列表)
模块名.类名(参数列表)
|
测试模块
将测试代码追加到模块文件末尾
变量__name__
为内置类属性,用于存储模块名
- 如果是被其他模块调用,则值为模块名
- 如果是独立运行(在模块下调用),则值为
__main__
1 2
| if __name__ == "__main__" 测试代码
|
模块的搜索顺序
- 当前目录
- shell的变量
$PYTHONPATH
下的每一个目录
- 默认模块存放路径,UNIX下默认为
/usr/local/lib/python
1 2 3 4 5
| import sys
print(sys.path) for i in sys.path: print(i)
|
注意事项
- 自己的模块名不要和已有模块名重复
- 如果调用模块时,模块名出现同名,则最后一次调用的模块生效
- 避免定义变量时与模块名重复
all列表的使用
- all列表中定义了一组允许被外界调用的功能名,其他没有在列表中的功能无法被外界调用
模块名.py
1 2 3 4
| __all__ = ["功能名"]
def 功能名(): ...
|
包
- 在一个目录存放一组有联系的模块,这个目录成为包,目录名即为包名
- 包的根目录下必须有一个
__init__.py
的文件,这个文件控制着包的导入行为
新建包
1 2 3
| + 包名 - __init__.py - 模块名.py
|
导入包
导入指定模块
1 2 3
| import 包名.模块名
包名.模块名.功能名(参数)
|
导入全部模块
在init文件添加all列表
__init__.py
根据all列表导入全部模块
1 2 3
| from 包名 import *
模块名.功能名(参数)
|
完成
参考文献
哔哩哔哩——Python-清风