random库是使用随机数(随机产生的一些数,计算机不会产生随机数)的Python标准库(随Python的解释器而自带的库,不需要安装直接使用import来使用它)

真正的随机数也是在各种复杂条件(并不充分理解或已经超越我们的理解能力)下而产生的确定值。

伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素

random库主要用于生成随机数

使用random库:import random

random库包括两类函数,常用共9个

基本随机数函数(2个)

seed()、random()

扩展随机数函数(7个)

uniform( )、randint( )、randrange( )、choice( )、shuffle( )、sample( )、getrandbits( )

基本随机数函数:

随机数种子来产生的

随机数种子确定了随机序列的产生

随机数种子根据梅森旋转算法从而产生随机序列

1.random() 产生一个[0.0,1.0]之间的随机小数

代码示例如下:


import random
print(random.random())


运行界面如下:

python怎么安装random模块 python random库需要安装吗_python怎么安装random模块

2.seed(a=None) 初始化给定的随机数种子,默认为当前系统时间

random.seed(10) #产生种子10对应的序列

代码如下所示:


import random
random.seed()
print(random.random())


运行界面如下所示: 

python怎么安装random模块 python random库需要安装吗_代码示例_02

 代码示例如下:


import random
random.seed(10)
print(random.random())


运行界面如下: 

python怎么安装random模块 python random库需要安装吗_后端_03

根据这两个运行界面进行相比较,我们可以得知结果不一样,造成这样的差别的原因是第二个所选的seed(10)为产生种子10对应的序列。第一个为seed()为空,则默认为产生种子当前系统时间对应的序列,所以两者不一样的同时也突出了seed的作用。 

扩展随机数函数:

1.uniform用于生成一个指定范围[a,b]内的随机浮点数n,若a<b,则a<=n<=b,若a>b,则b<=n<=a。

格式如下所示:

random.uniform(a,b)

代码如下所示:


import random
print(random.uniform(1,5))


运行界面如下:

python怎么安装random模块 python random库需要安装吗_后端_04

 2.randint用于生成一个指定范围[a,b]内的整数n,a<=n<=b。

格式如下所示:

random.randint(a,b)

代码如下所示:


import random
print(random.randint(1,5))


运行界面如下: 

python怎么安装random模块 python random库需要安装吗_后端_05

3.randrange用于生成一个按指定基数递增的序列,再从该序列中获取一个随机数。

格式如下:

random.randrange(m,n,k)  #(m,n)之间以k为步长的随机函数。

代码示例如下:


import random
print(random.randrange(10,100,25))


运行界面如下:  

python怎么安装random模块 python random库需要安装吗_python_06

当格式中没有k的时候,只有m和n的时候,格式如下所示:

random.randrange(m,n)  #(m,n)之间的随机函数。

代码示例如下:


import random
print(random.randrange(10,100))


运行界面如下:  ↵

python怎么安装random模块 python random库需要安装吗_随机数_07

4.choice用于从序列(列表)中获取一个随机元素,参数sequence表示一个有序类型。

格式如下:

random.choice(sequence)

代码如下所示:


import random
print(random.choice([1,2,3,4,5]))


运行界面如下:

python怎么安装random模块 python random库需要安装吗_代码示例_08

5.shuffle用于将序列(列表)x中的元素随机排列。

格式如下:

random.shuffle(x)

代码格式如下:


import random
x=[0,1,2,3,4,5]
random.shuffle(x)
print(x)


运行界面如下所示:

python怎么安装random模块 python random库需要安装吗_python怎么安装random模块_09

6.sample从指定序列中获取长度为k的片段,随机排列后返回新的序列,该函数可以基于不可变序列进行操作。

格式如下:

random.sample(sequence,k)

代码示例如下:


import random print(random.sample(('java','php','sql'),k=3))#从该序列里面获取长度为3的片段,然后随机排列后返回新的序列。即序列里面的每一个值为长度1,从中取三个值进行随机排列形成新的序列。print(random.sample(('java','php','sql'),k=2)))#从该序列里面获取长度为2的片段,然后随机排列后返回新的序列。即序列里面的每一个值为长度1,从中取两个值进行随机排列形成新的序列。


运行界面如下:

python怎么安装random模块 python random库需要安装吗_python怎么安装random模块_10

 7.getrandbits(k)用于生成一个k比特长的随机整数(这个长度范围不是用十进制的范围来确定,而是用比特数的长度来确定)

格式如下:

random.getrandbits(k)

运行界面如下:

python怎么安装random模块 python random库需要安装吗_随机数_11

8.当 我们使用种子的时候,取随机序列种子为10的数,进行选取后,我们再进行选取的时候,所选取的数值已不再是刚刚所选取的数值。两次结果输出不一样。

代码示例如下:


import random
random.seed(10)
print(random.random())
print(random.random())


 运行界面如下:

python怎么安装random模块 python random库需要安装吗_python怎么安装random模块_12

再现随机过程:首先设定种子,如果说只是用随机数,不关心程序复现同样的结果,就可以不用设定种子。

小提醒:在python代码中,非常有必要将几行代码放在一行中,如果代码在一行的话,中间可以用分号来分割。

python的浮点数的取值范围是小数点后16位。