random库是使用随机数的一个python标准库。
random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。即使用前需要导入:import random
random库包含两类函数,常用的有8个:
--基本随机函数:seed( ),random( )
--扩展随机函数:randint( ),randrange( ),shuffle( ),uniform( ),choice( ),getrandbits( )
其它的几个函数用的不多。
基本随机数:
Python中产生随机数使用随机数种子来产生。(只要种子相同,产生的随机序列,无论是每一个数,还是数与数之间的关系都是确定的,所以随机数种子确定了随机序列的产生)。
函数 | 描述 |
seed(a=None) | 初始化给定的随机数种子,默认为当前系统时间 >>>random.seed(10) #产生种子10对应的序列 |
random() | 生成一个[0.0,1.0)之间的随机小数n: 0<=n<1
>>> random.random() 0.5845462257019302>>> random.random()0.8440678976619022>>> random.random()0.1564189183874064 |
扩展随机数函数:
在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数。
函数 | 描述 |
randint(a, b) | 产生一个[a,b]间的整数n。a<=n<=b >>> random.randint(10,20) 11>>> random.randint(10,20)20>>> random.randint(10,20)13>>> random.randint(10,20)14 |
uniform(a, b) | 产生一个[a,b]之间的随机浮点数。区间可以不是整数 >>> random.uniform(1.1,5.5) 5.052063475972429>>> random.uniform(1.1,5.5)2.4832007418083832>>> random.uniform(1.1,5.5)3.5155216096545847>>> random.uniform(1.1,5.5)3.018536213546138 |
randrange(m, n, [,k]) | 生成一个[m,n)之间以k为步长的随机整数。 >>> random.randrange(10, 20, 2) 14>>> random.randrange(10, 20, 3)10 |
shuffle(seq) 序列相关 | 将序列seq中元素随机排列,返回打乱后的序列。 >>> s = [1, 6, 7, 9, 5] >>> random.shuffle(s)>>> print(s)[6, 9, 1, 7, 5] |
choice(seq) 序列相关 | 从序列中随机选择一个元素。 >>> random.choice([1,2,3,5,9]) 1>>> random.choice([1,2,3,5,9])9>>> random.choice([1,2,3,5,9])5>>> random.choice([1,2,3,5,9])2 |
getrandbits(k) | 生成一个k比特长的随机整数。 >>> random.getrandbits(3) 4L>>> random.getrandbits(3)3L>>> random.getrandbits(16)21480L>>> random.getrandbits(16)4986L |