PYTHON KNOWLEDGE · 09
模块、导入与常用标准库
正确导入模块,并按用途查找 math、random、statistics、collections、heapq、bisect 等标准工具。
GESP 1 级GESP 2 级GESP 7 级
01 · FORMAL DEFINITION
正式定义
模块是可导入的 Python 代码单元,包把模块组织成层次。import 先加载模块并创建模块对象,再把名字绑定到当前命名空间;标准库随 Python 分发,不等于第三方包。
02 · MUST KNOW
学完这一章,必须说清楚的规则
- 01
import module 保留清晰命名空间;from module import name 只导入指定名字;避免 from module import *。
- 02
math 提供 sqrt、floor、ceil、gcd、log、sin 等数学函数和 pi、e 等常量。
- 03
random 用于伪随机模拟,不适合密码安全;需要安全随机时使用 secrets。
- 04
collections.deque 适合双端队列,Counter 适合计数,defaultdict 可按工厂创建缺省值。
- 05
heapq 实现最小堆,bisect 在已排序序列中二分定位,itertools 提供高效迭代组合工具。
- 06
if __name__ == '__main__': 用来区分文件被直接运行还是被导入。
03 · RUNNABLE EXAMPLE
可运行示例与因果解释
from collections import Counter
from math import gcd
print(Counter('banana').most_common(2))
print(gcd(84, 30))COMMON PITFALLS
常见误区
- 文件名写成 math.py 导致遮蔽标准库
- import * 污染命名空间
- 把 random 当成加密随机数
- 没有理解工具的数据复杂度就盲目调用
SCOPE & BOUNDARIES
适用边界
- 标准库非常大,本章覆盖课程会实际依赖的入口;具体函数签名应结合本站条目与运行时帮助查询。
- Turtle 需要图形窗口,本站文本判题环境不伪造其画布。