《Python学习笔记本》第六章 模块 笔记以及摘要(待完结)
定义
模块(module)是顶层代码组织单元,其提供大粒度封装和复用。
通常每个模块对应一个源码文件。从某些角度来看,模块就像更大规模的类。其中定义的变量、函数、类型等,都属于其私有成员。
模块在首次导入(import)时,被编译成字节码。随后解释器开始创建模块实例,执行初始化语句,构建内部成员。模块不仅时代码组织形式,还时运行期对象,其为成员提供全局名字空间。
无论被导入多少次,每个模块在整个解释器进程内都仅有一个实例存在。随后,其也不会检测源文件是否变动。重复导入只是引用已存在的实例,并不会再次执行初始化过程。
# demo.py x = 1234 def hello(): ... class User: ...
import demo import types print(isinstance(demo, types.ModuleType)) # 创建一个空的module abc = types.ModuleType('abc') print(abc)
/usr/local/bin/python3.7 /Users/shijianzhong/study/Python学习笔记/第六章模块/t1.py True <module 'abc'> Process finished with exit code 0
初始化