《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

初始化

原文地址:https://www.cnblogs.com/sidianok/p/12837610.html