random库概述
主要功能
random 库主要功能是生成随机数.
基本随机数的产生
随机数的产生方法:需要一个随机数种子,再根据梅森旋转算法,产生一个随机数序列,随机数种子确定,那么随机数序列的数和数之间的关系也是确定的.
因为随机数的产生方法,python中的随机数都是伪随机数,只要随机数种子确定,随机数序列也是确定的。
random库的常用函数
random库与随机数运用
函数 | 描述 |
---|---|
seed(a=None) | 初始化随机数种子,默认值为当前系统时间 |
random() | 生成一个[0.0, 1.0)之间的随机小数 |
randint(a, b) | 生成一个[a,b]之间的整数 |
getrandbits(k) | 生成一个k比特长度的随机整数 |
randrange(start, stop[, step]) | 生成一个[start, stop)之间以step为步数的随机整数 |
uniform(a, b) | 生成一个[a, b]之间的随机小数 |
choice(seq) | 从序列类型(例如:列表)中随机返回一个元素 |
shuffle(seq) | 将序列类型中元素随机排列,返回打乱后的序列 |
sample(pop, k) | 从pop类型中随机选取k个元素,以列表类型返回 |
实例举证:
seed:
random的默认随机种子是以当前时间进行的,所以在产生随机的伪随机数,并不是真正意义上的随机,虽然不至于影响使用,但我们需要知道其内部原理.
import random
random.seed(10)
print(random.random())#(1)
random.seed(10)
print("seed 10 again")
print(random.random())#(2)
print(random.random())#(3)