Python 基础教程

Python 流程控制

Python 函数

Python 数据类型

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python 随机模块(Random)

您可以使用随机模块在Python中生成随机数。

Python提供random了可以生成随机数的模块。

这些是伪随机数,因为生成的数字序列取决于种子。

如果种子值相同,则序列将相同。例如,如果使用2作为播种值,则将始终看到以下序列。

import random
random.seed(2)

print(random.random())
print(random.random())
print(random.random())

输出将始终遵循以下顺序:

0.9560342718892494
0.9478274870593494
0.05655136772680869

不是那么随便吧?由于此生成器是完全确定性的,因此不得将其用于加密目的。

这是随机模块中定义的函数列表,并简要说明了它们的作用。

Python随机模块中的函数列表
功能描述
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)返回从填充序列中选择的唯一元素的ak长度列表
random()返回范围为[0.0,1.0)的下一个随机浮点数
uniform(a, b)返回介于a和b之间的随机浮点数
triangular(low, high, mode)返回介于低和高之间的随机浮点数,并在这些边界之间指定模式
betavariate(alpha, beta)Beta分布
expovariate(lambd)指数分布
gammavariate(alpha, beta)伽玛分布
gauss(mu, sigma)高斯分布
lognormvariate(mu, sigma)对数正态分布
normalvariate(mu, sigma)正态分布
vonmisesvariate(mu, kappa)

Vonmises分布

paretovariate(alpha)帕累托分布
weibullvariate(alpha, beta)威布尔分布