1. 模块 (Module)
1. 定义:一般情况下,一个.py文件就称作一个模块
2. 导入方式:【其中,括号表示可写可不写】
① import 模块名1 (as 别名1) , 模块名2 (as 别名2) ...
② from 模块名 import 变量名1 (as 别名1), 变量名2 (as 别名2)
3. 示例:python文件放置顺序(左) 和 对应模块导入(右)
4. 模块属性:(__name__, __all__, __doc__ .... )
__name__: if __name__ == '__main__' 对模块内部代码进行测试
① 如果只需要运行当前py文件,内置的__name__属性 会被赋值为 __main__
② 如果外部引用该模块, __name__ 会被赋值为该模块名(.py的名字)
__all__: 使用该属性来控制外部可以访问的模块中的成员变量/类
__doc__: 访问模块的说明文档,其中说明部分一般放在py文件开头, 用""" """引起来
2. 包 (Packages)
1. 定义:将多个模块(.py文件)封装成包。其中包下必须包含一个__init__.py文件
2. 导入方式:【其中,括号表示可写可不写】
① import 包名.模块名 (as 别名)
② from 包名 import 模块名(as 别名)
③ from 包名.模块名 import 变量名 (as别名)
3. 示例:【按照导入方式的顺序 ①②③】
4. __init__文件作用:
① 该文件在包被引用的时候被执行,相当于Class类中的__init__
② 由于①的约束,所以在__init__可以导入一些公共的模块/包,避免重复引用
③ __init__本身是一个模块,但模块名是包的名字,不是'__init__'