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 之间(包括 a 和 b)的随机整数
choice(seq) 从非空序列中返回一个随机元素
shuffle(seq) 打乱序列
sample(population, k) 从 population 序列中返回一个长度为 k 的唯一元素列表
random() 返回 [0.0, 1.0) 范围内的下一个随机浮点数
uniform(a, b) 返回一个介于 a 和 b 之间(包括 a 和 b)的随机浮点数
triangular(low, high, mode) 返回一个介于 low 和 high 之间,指定模式在这些边界之间的随机浮点数
betavariate(alpha, beta) Beta 分布
expovariate(lambd) 指数分布
gammavariate(alpha, beta) Gamma 分布
gauss(mu, sigma) 高斯分布
lognormvariate(mu, sigma) 对数正态分布
normalvariate(mu, sigma) 正态分布
vonmisesvariate(mu, kappa) Vonmises 分布
paretovariate(alpha) Pareto 分布
weibullvariate(alpha, beta) Weibull 分布

访问此页面以了解更多关于如何在 Python 中生成伪随机数

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战