random库概述:
1. 主要目的:生成随机数
random库采用梅森旋转算法(MersenneTwister)生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用。读者只需要查阅该库中随机数生成函数,找到符合使用场景的函数即可。
random库的引用方法(两种):import random
或 from random import *
2. 提供了不同类型的随机数生成函数
2.1 最基本的函数:random.random()
它生成一个[0,1]之间的随机小数,所有其他随机函数都是基于这个函数扩展而来。
2.2 输出[n,m]间的随机整数:random.randint(n,m)
包括n,也包括M
2.3 返回n bit数值的随机整数:random.getrandbits(n)
所谓n比特数值,最大值为2^0+2^1+......+2^(n-1),最小值为0。同时也可以表示可能性。
2.4 返回[n,m]的随机整数:random.randrange(n,m)
包括n,不包括m
还有一种是三个参数的情况:random.randrange(n,m,k)
k是步长,相当于可能输出n,n+k,n+2k,.......,n+x*k<m
form
2.5 返回[n,m]之间的小数:random.uniform(n,m)
2.6 从序列类型,例如列表中随机返回一个元素:random.chioce()
具体可以看这个:random.choice()函数
2.7 将序列类型中的元素随机排列,返回打乱后的序列:random.shuffle()
具体可以看这个:shuffle(x)
2.8 从pop类型中随机选取k个元素,以列表类型返回:random.sample(pop,k)
具体可以看这个:sample()函数
2.9 初始化随机数种子,默认值为当前系统时间:random.seed(a=None)
具体可以看这个:seed()