一、基本概念
- 模块是从逻辑上组织python代码的形式
- 当代码量变得相当大的时候,最好把代码分成一些有组织的代码段,前提是保证它们的 彼此交互
- 这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数
- 人话:一个 .py文件 就是一个python模块
二、导入模块 (import)
- 使用 import 导入模块
- 模块属性通过 “模块名.属性” 的方式调用
- 模块函数通过 “模块名.函数名” 的方式调用
- 如果仅需要模块中的某些属性,也可以单独导入
常用的导入模块的方法
- 导入整个模块内容
例1:import random
例2:import random, sys
- 只导入模块中的某些方法
例如:from random import choice, randint
- 添加模块的别名
例如:import random as rd
三、模块加载 (load)
- 模块在被导入时,会先完整的执行一次模块中的 所有程序
- 一个模块只被 加载一次,无论它被导入多少次,只加载一次可以 阻止多重导入时,代码被多次执行,如果两个文件相互导入,防止了无限的相互加载
- 模块加载时,顶层代码会自动执行,所以只将函数放入模块的顶层是最好的编程习惯
四、"__name__"用法
# foo.py
print(__name__)
# bar.py
import foo # 导入foo.py,会将 foo.py 中的代码完成的执行一次,所以会执行 foo 中 print(__name__)
# 执行结果
foo.py -> __main__ 当模块文件直接执行时,__name__的值为‘__main__’
bar.py -> foo 当模块被另一个文件导入时,__name__的值就是该模块的名字
- 所以我们以后在 Python 模块中执行代码的标准格式:
- pychram快捷键:main+tab键
def test():
......
if __name__ == "__main__":
test()