返回文章列表

文章

Python 中的 random

目录
  1. Python 中的 random 模块提供了生成伪随机数的各种工具,广泛用于模拟、测试、游戏等场景。以下是 random 模块的常用使用方式:
  2. 🔧 导入模块
  3. 📌 常用函数汇总
  4. 1. 生成随机数
  5. 2. 随机选择
  6. 3. 打乱顺序
  7. 4. 设置随机种子
  8. 📌 示例代码
  9. 📚 进阶:替代方案

Python 中的 random 模块提供了生成伪随机数的各种工具,广泛用于模拟、测试、游戏等场景。以下是 random 模块的常用使用方式:#

🔧 导入模块#

import random

📌 常用函数汇总#

1. 生成随机数#

random.random()       # 返回 0.0 到 1.0 之间的随机浮点数
random.uniform(a, b)  # 返回 a 到 b 之间的随机浮点数(可 a > b)
random.randint(a, b)  # 返回 a 到 b 之间的随机整数(包含 a 和 b)
random.randrange(a, b, step)  # 从 range(a, b, step) 中随机选一个数

2. 随机选择#

random.choice(seq)         # 从序列中随机选一个元素
random.choices(seq, k=n)   # 从序列中随机选择 n 个元素(可重复)
random.sample(seq, k=n)    # 从序列中随机选 n 个不重复元素(原序列不变)

3. 打乱顺序#

random.shuffle(seq)        # 原地打乱序列的顺序(列表类型)

4. 设置随机种子#

random.seed(42)            # 设置种子,保证每次运行结果一致(用于调试或测试)


📌 示例代码#

import random

# 随机小数
print(random.random())         # e.g., 0.3744...
print(random.uniform(10, 20))  # e.g., 14.23

# 随机整数
print(random.randint(1, 6))    # e.g., 骰子模拟
print(random.randrange(0, 100, 10))  # e.g., 0, 10, ..., 90 之一

# 随机选择
items = ['apple', 'banana', 'cherry']
print(random.choice(items))
print(random.choices(items, k=5))     # 可重复
print(random.sample(items, k=2))      # 不重复

# 打乱顺序
random.shuffle(items)
print(items)

# 固定随机性
random.seed(123)
print(random.randint(1, 100))   # 每次运行都一样


📚 进阶:替代方案#

如果你需要更安全的随机性(如加密相关用途):

import secrets

secrets.randbelow(100)         # 返回 0 ~ 99 的安全随机数
secrets.choice(['a', 'b', 'c'])  # 安全地随机选择元素