1 定义模块
1.1 模块基本概念
-
模块
是从逻辑上组织python代码的形式 - 当代码量变得相当大时,最好把代码分成一些有组织的代码段,前提是保证他们彼此交互
- 这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数
1.2 创建模块
- 模块物理层面上组织模块的方法是文件,每一个以
.py
作为结尾的python文件就是一个模块 - 模块名称切记不要与系统中已存在的模块重名
- 模块文件名字去掉后面的拓展名
.py
即为模块名
2 使用模块
2.1 导入模块import
- 使用
import
导入模块 - 模块被导入后,程序会自动生成
pyc
的字节码文件
以提升性能 - 模块属性通过
模块名.属性
,也可以单独导入
2.2 模块加载load
- 一个模块只能被加载一次,无论它被导入多少次
- 只加载一次可以阻止多重导入时代码被多次执行
- 如果两个文件相互导入,防止了无限的相互加载
- 模块加载时,顶层代码会自动执行,所以只将函数放入模块的顶层是良好的编程习惯
2.3 模块导入的特性
- 模块具有一个
__name__
特殊属性 - 当模块文件直接执行时,
__name__
的值为'__main__'
- 当模块被另一个文件导入时,
__name__
的值就是该模块的名字