Python Random 模块
Python 提供了 random
模块,可以生成随机数。
这些是伪随机数,因为生成的数字序列取决于种子。
如果种子值相同,序列将是相同的。例如,如果你使用 2 作为种子值,你将始终看到以下序列。
import random
random.seed(2)
print(random.random())
print(random.random())
print(random.random())
输出将始终遵循序列:
0.9560342718892494
0.9478274870593494
0.05655136772680869
不那么随机,是吗? 由于这个生成器完全确定性,它不应该用于加密目的。
这里是 random 模块中定义的所有函数的列表,以及它们的简要说明。
Python Random 模块中的函数列表
函数 | 描述 |
---|---|
seed(a=None, version=2) | 初始化随机数生成器 |
getstate() | 返回捕获生成器当前内部状态的对象 |
setstate(state) | 恢复生成器的内部状态 |
getrandbits(k) | 返回带有 k 个随机位的 Python 整数 |
randrange(start, stop[, step]) | 返回来自范围的随机整数 |
randint(a, b) | 返回 a 和 b 之间(含两端)的随机整数 |
choice(seq) | 从非空序列返回一个随机元素 |
shuffle(seq) | 洗牌序列 |
sample(population, k) | 从 population 序列返回一个长度为 k 的独特元素列表 |
random() | 返回范围 [0.0, 1.0) 内的下一个随机浮点数 |
uniform(a, b) | 返回 a 和 b 之间(含两端)的随机浮点数 |
triangular(low, high, mode) | 返回 low 和 high 之间的随机浮点数,具有指定模式在这些边界之间 |
betavariate(alpha, beta) | Beta 分布 |
expovariate(lambd) | 指数分布 |
gammavariate(alpha, beta) | 伽玛分布 |
gauss(mu, sigma) | 高斯分布 |
lognormvariate(mu, sigma) | 对数正态分布 |
normalvariate(mu, sigma) | 正态分布 |
vonmisesvariate(mu, kappa) | Vonmises 分布 |
paretovariate(alpha) | Pareto 分布 |
weibullvariate(alpha, beta) | Weibull 分布 |
访问此页面以了解更多关于 如何在 Python 中生成伪随机数。