国际访客建议访问 Primers 编程伙伴 国际服 以获得更好的体验。 快速访问 Python 基础语法 模块

# Python 的模块

模块是 Python 程序组织的基本单元,将相关代码组织在一起。简单来说,一个 .py 文件就是一个模块。

# 模块的导入

在 Python 中使用 import 关键字导入模块:

import 模块名                   # 导入模块
from 模块名 import 名称列表     # 从模块中导入部分名称

例如:

# 模块的常见形式

模块主要包含 文件目录 两种形式:

  • 文件模块以 .py 结尾,模块名为文件名(不含 .py)。

  • 目录模块需要包含一个 __init__.py 文件,模块名为目录名。

导入目录模块时,实际上时导入了其中的 __init__.py 文件,因此通常需要在 __init__.py 中导入目录中其它文件。

例如,有如下文件结构:

src/
├── main.py
└── utils/
    ├── __init__.py
    ├── helper.py
    └── config.py

要直接从 utils 进行导入的话,需要在 __init__.py 写入以下内容:

# __init__.py
from .helper import *
from .config import *

这里的模块名开头的 . 表示当前目录(当前文件 __init__.py 所在的目录)。 * 表示导入所有名称。

例如:

# utils/__init__.py
from .helper import *
from .config import *
# utils/helper.py
def help():
    print('help message')
# main.py
from utils import help  # 直接导入 help 函数,不需要经过 helper

help()

也可以通过 import 目录名.文件名 的方式导入目录中的其它文件(例如 import utils.helper 或者 from utils import helper),这种情况下 __init__.py 可以不写任何内容。例如:

import utils.helper
from utils import helper

# __name__

每个模块都会有一个隐含的变量 __name__

  • 如果模块时被导入的,则 __name__ 的值为模块名

  • 如果模块是被直接运行的(python xxx.py),则 __name__ 的值为 __main__

在一个程序中,模块首次被引入时,会执行其中的代码。可以通过 __name__ 来让部分代码被导入时不执行,只在被直接运行时执行。

if __name__ == "__main__":
    # 要执行的代码
    pass

# 标准库模块

Python 自带了许多内置的模块,称为标准库模块,它们无需额外安装即可直接导入使用。请查看 API 帮助手册 - 内置的模块

# 第三方包

Python 拥有海量的第三方包,可以通过 pip 命令进行安装。

pip install 包名

安装后即可使用包中的模块。

本文 更新于: 2025-05-31 19:53:11 创建于: 2025-05-31 19:53:11