python random 库
Python的random库提供了丰富的函数来生成随机数和进行随机操作。下面这个表格汇总了最常用的函数,方便你快速查阅。
| 函数名 | 用法示例 | 功能说明 |
|---|---|---|
random() |
random.random() |
生成一个[0.0, 1.0)范围内的随机浮点数。 |
randint(a, b) |
random.randint(1, 10) |
生成一个指定范围[a, b]内的随机整数,包含上下边界。 |
uniform(a, b) |
random.uniform(1.5, 10.5) |
生成一个指定范围[a, b]内的随机浮点数。 |
choice(seq) |
random.choice(['apple', 'banana']) |
从非空序列(如列表、元组)中随机选择一个元素返回。 |
shuffle(seq) |
random.shuffle([1, 2, 3, 4, 5]) |
将序列中的元素原地随机打乱顺序,只支持可变序列(如列表)。 |
sample(seq, k) |
random.sample([1,2,3,4,5], 3) |
从序列中随机抽取k个不重复的元素,返回一个新列表,原序列不变。 |
randrange(start, stop[, step]) |
random.randrange(0, 10, 2) |
从range(start, stop, step)的结果中随机选择一个整数,不包含stop。 |
seed(a=None) |
random.seed(42) |
初始化随机数生成器。给定相同的种子,将产生相同的随机数序列,用于结果复现。 |
gauss(mu, sigma) |
random.gauss(0, 1) |
生成一个服从高斯分布(正态分布)的随机浮点数,mu为均值,sigma为标准差。 |
choices(seq, k=1) |
random.choices([1,2,3], k=2) |
从序列中随机抽取k个元素,抽取是可重复的(即有放回抽样)。 |
💡 使用须知与技巧
- 伪随机性:
random库生成的是伪随机数,其序列由种子(seed)决定。默认使用系统时间作为种子,所以每次运行结果不同。通过random.seed()设置固定种子,可以让随机过程可复现,这在模型训练和调试时非常有用。 - 线程安全:在多线程程序中,最好为每个线程创建独立的
Random实例,以避免全局状态冲突。 - 安全警示:
random库不适合用于密码学、密钥生成等安全敏感场景。这类需求请使用secrets模块。
💎 应用场景
random库的函数在诸多场景中发挥重要作用:
- 游戏开发:随机生成敌人、道具或随机事件(如
choice())。 - 模拟实验:模拟掷骰子(
randint(1, 6))、洗牌(shuffle())等。 - 数据分析与机器学习:随机划分训练集和测试集(
sample()或shuffle()),数据增强(如随机旋转图片)。 - 随机抽样:从大量数据中随机抽取样本进行分析(
sample()或choices())。
希望这份总结能帮助你更好地使用Python random库。如果你有更具体的应用场景想了解,我可以提供更细致的例子。

浙公网安备 33010602011771号