首页 / Python3 入门教程 / 标准库概览

Python3 入门教程

标准库概览

本教程共 70 篇 · 第 48 篇 · 更新于 2026-07-22 · 约 5 分钟阅读

PythonPython3 入门教程标准库sys模块math模块random模块

48. 标准库概览

本节目标:了解 Python 标准库的组成,掌握 sysosmathrandomstatistics 等核心模块的常用功能。

Python 的强大不仅在于语法简洁,更在于「自带电池」——安装 Python 的同时,你就获得了一个庞大的标准库。从文件操作到网络通信,从数据结构到加密算法,标准库覆盖了编程中的大部分常见需求。

这一章先做一个概览,让你知道「有哪些工具可用」。后续几章会深入讲解几个最常用的模块。

sys:与 Python 解释器交互

sys 模块提供访问解释器相关信息和功能的接口:

import sys

print(sys.version)       # Python 版本信息
print(sys.platform)      # 平台标识,如 'win32'、'darwin'、'linux'
print(sys.executable)    # Python 解释器的路径

# 命令行参数
print(sys.argv)          # 列表,第一个是脚本名,后面是传入的参数

# 退出程序
sys.exit(0)              # 0 表示正常退出,非零表示异常
Tip

sys.path 是一个列表,存储了模块搜索路径。如果你临时需要导入某个不在标准位置的模块,可以往里面追加路径:sys.path.append('/my/modules')

os:操作系统接口

os 模块在第 45 章已经详细讲过。这里补充几个常用函数:

import os

print(os.environ.get('HOME'))     # 读取环境变量
os.environ['MY_VAR'] = 'value'   # 设置环境变量

print(os.cpu_count())             # CPU 核心数
print(os.urandom(16))             # 生成加密安全的随机字节

os.urandom 是真正的随机数生成器(基于操作系统提供的熵源),比 random 模块更安全,适合生成密钥、令牌。

math:数学函数

import math

print(math.sqrt(16))        # 4.0
print(math.pi)              # 3.141592653589793
print(math.e)               # 自然常数
print(math.ceil(3.2))       # 4(向上取整)
print(math.floor(3.8))      # 3(向下取整)
print(math.factorial(5))    # 120
print(math.gcd(48, 18))     # 6(最大公约数)
print(math.log(100, 10))    # 2.0(以 10 为底的对数)
print(math.radians(180))    # π(角度转弧度)
print(math.degrees(math.pi)) # 180.0(弧度转角度)
Note

Python 3.9+ 的 math 模块新增了一些实用函数:math.lcm()(最小公倍数)、math.nextafter()(浮点数的下一个可表示值)、math.dist()(两点距离)。

random:伪随机数

import random

print(random.random())           # [0, 1) 之间的浮点数
print(random.randint(1, 10))     # [1, 10] 之间的整数
print(random.choice(['a', 'b', 'c']))  # 随机选一个元素
print(random.sample(range(100), 5))    # 不重复地随机选 5 个

# 打乱列表
items = [1, 2, 3, 4, 5]
random.shuffle(items)
print(items)
Warning

random 模块生成的是「伪随机数」,基于算法,可预测。不要用它做密码学相关的操作(比如生成密钥、抽奖抽奖、验证码)。安全随机数用 secrets 模块或 os.urandom()

设置随机种子

调试时需要结果可复现,可以设种子:

random.seed(42)
print(random.random())  # 每次运行结果都一样

statistics:统计计算

import statistics

data = [1, 2, 3, 4, 5, 5, 6]

print(statistics.mean(data))     # 平均值 3.714...
print(statistics.median(data))   # 中位数 4
print(statistics.mode(data))     # 众数 5
print(statistics.stdev(data))    # 标准差
print(statistics.variance(data)) # 方差
Tip

如果你的数据量很大,或者需要做复杂的统计分析(回归、假设检验等),标准库的 statistics 就不够用了。此时应该上 NumPySciPy

其他值得知道的模块

标准库有上百个模块,这里列出一些常用的,混个脸熟:

模块用途
itertools迭代器工具,排列组合、无限序列等
functools高阶函数工具,偏函数、缓存、装饰器等
operator运算符对应的函数(addgt 等)
hashlib哈希算法(MD5、SHA 系列)
base64Base64 编解码
jsonJSON 序列化(第 47 章已讲)
re正则表达式(第 51 章讲)
datetime日期时间(第 49 章讲)
collections扩展数据结构(第 50 章讲)
urllibURL 处理(第 53 章讲)
Note

怎么查标准库文档?在交互式环境里用 help()help(math.sqrt)。或者访问官方文档:https://docs.python.org/zh-cn/3/library/ 。遇到问题时,先搜「python 标准库 + 你的需求」,大概率有现成方案。

实战:生成随机测试数据

randomstatistics 结合起来,生成一组测试数据并分析:

import random
import statistics

random.seed(0)
scores = [random.randint(50, 100) for _ in range(30)]

print(f"成绩:{scores}")
print(f"平均分:{statistics.mean(scores):.1f}")
print(f"最高分:{max(scores)}")
print(f"最低分:{min(scores)}")
print(f"标准差:{statistics.stdev(scores):.1f}")

这个例子展示了标准库模块的组合使用:列表推导生成数据,random 控制随机性,statistics 做分析。

小结

  • sys:与解释器交互,获取版本、参数、路径等信息。
  • os:操作系统接口,环境变量、路径、进程等。
  • math:数学函数,三角、对数、取整等。
  • random:伪随机数生成,注意不适合安全场景。
  • statistics:基础统计计算,大数据请上 NumPy。

Python 标准库像一个大工具箱。你不需要记住每个函数的签名,但要大概知道「哪个抽屉里有什么」。遇到问题时有方向去查文档,这比盲目搜第三方库高效得多。


来源:参考了 runoob「Python3 标准库概览」、liaoxuefeng「常用内建模块」、pythondoc「10. 标准库简介」等,改写后所得。