• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1872

9 分钟

#模块

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

#模块的导入

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

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

例如:

import os # 导入 os 模块,该模块提供操作系统相关接口 from math import pi # 从 math 模块中导入 pi(圆周率) print(os.name) print(pi)
Loading...

#模块的常见形式

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

  • 文件模块以 .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/5/11 16:19:21

更新于 2025/5/11 16:19:21