Python 随机模块(Random)

由网友 大卫 发布 阅读 11

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)威布尔分布

Python 闭包 Python 命名空间和作用域