定义:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。
一、模块注意:
1.所有的模块都应该自觉的往上写 2.调用模块的时候都是最先在本地找 3.写模块的顺序是:内置模块-->扩展模块-->自定义模块
二、模块的几种写法:
import:
1.import 模块名 调用:模块名.变量名 # 这种方式和本文件中的变量名完全不冲突 2.import 模块名 as 重命名的模块名 # 提高代码的兼容性 3.import 模块1,模块2
from import:
1.from 模块名 import 变量名 #直接使用 '变量名()' 就可以完成操作 如果本文件中有相同的变量名会发生冲突2.from 模块名 import 变量名字 as 重命名变量名 3.from 模块名 import 变量名1,变量名2 4.from 模块名 import * #模块中的所有变量名都放到内存中 # 如果本文件中有相同的变量名会发生冲突 5.from 模块名 import * 和 __all__ 是一对 # 没有这个变量,就会导入所有的名字 # 如果有all 只导入all列表中的名字
# __name__ # 在模块中 有一个变量__name__, # 当我们直接执行这个模块的时候,__name__ == '__main__' # 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
三、模块执行过程
文件 import demo def read(): print('my read func') demo.read() print(demo.money) 先从sys.modules里查看是否已经被导入 如果没有被导入,就依据sys.path路径取寻找模块 找到了就导入 创建这个模块的命名空间 执行文件,把文件中的名字都放到命名空间里