一、Python 的解释器在 导入模块 时,会:

  1. 搜索 当前目录 指定模块名的文件,如果有就直接导入
  2. 如果没有,再搜索 系统目录
  3. 在开发时,给文件起名,不要和 系统的模块文件重名
  4. Python 中每一个模块都有一个内置属性 __file__ 可以 查看模块

二、__name__ 属性

  • __name__ 属性可以做到,测试模块的代码 只在测试情况下被运行,而在 被导入时不会被执行!
  • __name__ 是 Python 的一个内置属性,记录着一个 字符串
  • 如果 是被其他文件导入的,__name__ 就是 模块名
# 导入模块
# 定义全局变量
# 定义类
# 定义函数

# 在代码的最下方
def main():
    # ...
    pass

# 根据 __name__ 判断是否执行下方代码
if __name__ == "__main__":
    main()

 三、包(package)

  • 包 是一个 包含多个模块 的 特殊目录
  • 目录下有一个 特殊的文件 __init__.py
  • 包名的 命名方式 和变量名一致,小写字母 + _

好处:使用 import 包名 可以一次性导入 包 中 所有的模块