目录
1.模块
每一个扩展名以py结尾的源代码文件都是一个模块
模块名同样也是一个标识符,需要符合标识符的命名规范
在模块中定义的全局变量,函数,类都是提供给外界使用的工具
模块就好比时一个工具包,要使用模块中的工具,需要先导入模块
模块导入有两种方式
1.import 模块1,模块2
import 模块1
import 模块2
导入模块后,可以使用模块名.使用模块中的全局变量,函数,类等
可以通过import 模块名 as 别名给模块取别名 # 注意:模块别名要符合大驼峰命名
2.导入模块中部分工具
from 模块名 import 工具名
导入后不需要通过模块名.使用,而是可以直接使用函数,类,全局变量等
如果两个模块存在同名函数,后导入函数会覆盖先导入函数
注意:一旦发现冲突,可以使用as给其中一个工具取别名
模块的搜索顺序:
python解释器在导入模块时,首先会在当前目录搜索指定模块名,没有搜索到会到系统目录搜索指定模块名。
在开发时,给文件起名不要和系统模块重名,python中每一个模块都有一个内置属性__file__可以查看模块的完整路径。
__name__属性:
__name__属性可以做到,测试模块代码只在测试时候运行,而在被导入时不会运行。
__name__记录着一个字符串,在当前程序运行时,"__main__",在被导入时是模块名
2.包
包是一个包含多个模块的特殊目录
目录下面有一个__init__文件
包的命名方式和变量名,小写字母+_
使用import 包名,可以一次性导入包中所有模块
要在外界中使用包中模块,需要在init.py中指定对外界提供的模块列表