您可以使用随机模块在Python中生成随机数。
Python提供random了可以生成随机数的模块。
这些是伪随机数,因为生成的数字序列取决于种子。
如果种子值相同,则序列将相同。例如,如果使用2作为播种值,则将始终看到以下序列。
import random random.seed(2) print(random.random()) print(random.random()) print(random.random())
输出将始终遵循以下顺序:
0.9560342718892494 0.9478274870593494 0.05655136772680869
不是那么随便吧?由于此生成器是完全确定性的,因此不得将其用于加密目的。
这是随机模块中定义的函数列表,并简要说明了它们的作用。
功能 | 描述 |
---|---|
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) | 威布尔分布 |