模块的作用
- 代码复用:将常用的功能封装到模块中,可以在多个程序中重复使用。
- 命名空间管理:模块可以避免命名冲突,不同模块中的同名函数或变量不会互相干扰。
- 代码组织:将代码按功能划分到不同的模块中,使程序结构更清晰。
定义和使用
import,来使用计算器这个模块
- 当前目录。
- 环境变量
PYTHONPATH指定的目录。 - Python 标准库目录。
.pth文件中指定的目录。
from modname import xx 语句:导入一个指定的部分内容到当前文件中
内置模块
Python 本身带着一些标准的模块库,这些你可以直接导入使用| 模块名 | 功能描述 |
|---|---|
math | 数学运算(如平方根、三角函数等) |
os | 操作系统相关功能(如文件、目录操作) |
sys | 系统相关的参数和函数 |
random | 生成随机数 |
datetime | 处理日期和时间 |
json | 处理 JSON 数据 |
re | 正则表达式操作 |
collections | 提供额外的数据结构(如 defaultdict、deque) |
itertools | 提供迭代器工具 |
functools | 高阶函数工具(如 reduce、lru_cache) |
包
包是一种管理 Python 模块命名空间的形式,采用包名.文件名。
目的也是为了更好的模块化!
(必须有 __init__.py才能作为包的规则,其实是 Python 3.3 之前 的旧皇历了)
比如我把计算器模块,放到工具目录中 utils/calculator.py ,那 utils 就称之为包。导入的时候就需要做出调整了
from package import item 方式导入包模块
name 与 main
平时我们经常会看到这样的 Python 代码:print(__name__) 于表示当前模块的名称:
- 当模块作为主程序运行时:name 的值被设置为 “main”。
- 当模块被导入时:name 的值被设置为模块的文件名(不包括 .py 扩展名)。

