模块和包
- 模块
使用from ... import 导入模块中的某些工具,在使用时不需要使用模块名.的形式,可直接使用
在导入文件时,文件中 所有没有任何缩进的代码 都会被执行一遍!
__name__
属性
__name__
属性可以做到,测试模块的代码 只在测试情况下被运行,而在 被导入时不会被执行!
__name__
是Python
的一个内置属性,记录着一个 字符串- 如果 是被其他文件导入的,
__name__
就是 模块名 - 如果 是当前执行的程序
__name__
是__main__
所以代码常有以下格式
def main(): # ... pass # 根据 __name__ 判断是否执行下方代码 if __name__ == "__main__": main()
- 包
包 是一个 包含多个模块 的 特殊目录
目录下有一个 特殊的文件__init__.py
- 要在外界使用 包 中的模块,需要在
__init__.py
中指定 对外界提供的模块列表 -
from . import 模块名1 from . import 模块名2
导入时时import包名
使用时包名.模块名.方法名
- 命名方法
模块名、方法名、类名都为大驼峰命名法
包名为小写英文和数字组合