python random函数_第422期|python学习:random库的使用

random库

random库是使用随机数的python标准库,标准库是指随着python的解释器所自带的库,它不需要安装,直接使用import来使用它。random库和turtle库、time库一样都是标准库。随机数从哲学上来说是随机产生的一些数据,但是计算机不可能产生随机值,简单理解为真正的随机数也是在各种复杂条件下而产生的确定值,只不过这些复杂条件我们并不充分理解或者已经超越我们的理解能力。计算机没办法产生真正的随机数,但是它可以产生伪随机数。所谓伪随机数也是按照计算机一定的运算规则产生的一些数据,这些数据表现为随机数的形式,计算机中采用梅森旋转算法生成伪随机序列中的元素。random库是python中用于生成随机数的这么一个功能库,使用它很简单,用import random引入其中的函数。random库一共包含两类函数,常用的有8个,其中的基本随机函数只有两个:seed()和random(),剩下的6个是扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle(),简单说random库最基本的只有一个函数产生随机数random,之后的所有函数都是基于这个函数拓展而来的。

01

基本随机数函数

python中的随机数使用随机数种子来产生,怎么理解随机数呢,我们来几个例子:计算机产生随机数是需要随机数种子的,那么我们给定一个种子,再采用梅森旋转算法,它就能够根据种子产生一系列的数据,这个随机序列是根据种子来唯一确定的,在随机序列中的每一个数就是随机数。只要种子相同产生的随机序列无论是每一个数还是数之间的关系都是确定的,所以随机数种子确定了随机序列的产生。random库提供了两个最基本的函数seed和random。seed函数是给随机数产生确定初始种子的函数,函数使用方法为random.seed(),可以给定一个种子。在使用随机数的时候,我们可以不调用这个函数直接使用random.random产生随机数,不需要使用seed函数。如果不调用seed函数,那么它将会使用当前操作系统默认的系统时间作为种子。random函数它能够生成一个从0开始到1.0之间的随机小数,随机小数的产生与种子有关,下面我们来看个例子:

ab44cba82af1a1aa01c50ad6ee49c286.png

种子我们只需要给一次,随机数就会随着每次调用产生不同随机数,我们也可以不给种子,直接调用random,也可以产生随机数。不给种子的时候默认种子是当前调用第一次random函数所对应的系统时间。为什么要给种子呢?因为如果你编程中给出了随机种子,那么下一次程序再次运行只要种子相同,那么产生的随机数也是相同的。对于使用随机数的程序我们可以复现程序运行的过程,如果不使用随机数种子,那么它使用的是当前系统时间,而那个时间是精确到微秒的,是我们很难再现的,所以后面产生的程序与运行结果就是完全随机,是我们认为不可再现的。所以函数的选择取决于我们的程序需求,如果我们需要再现随机过程,那么我们就设定种子,如果说只是用随机数,不在乎复现结果,那么就可以不设定种子。

02

扩展随机数函数

在random库中提供了六个常用的拓展随机数函数randint(),getrandbits(),uniform(),randrange(),choice(),shuffle(),我们来逐一看一下吧~

①randint(a,b):生成一个[a,b]之间的整数

70aeae28711d5a15dde3b76c989b6a0a.png

②randrange(m,n[,k]):生成一个[m,n)之间以k为步长的随机整数

aa31576cb542d1b3e98933d723cce375.png

③getrandbits(k):生成一个k比特长的随机整数

7efbcceefc9e9383cbd55c1415cf7617.png

④uniform(a,b):生成一个[a,b]之间的随机小数

483bb9c4681462c4345abb498dac3869.png

⑤choice(seq):从序列seq中随机选择一个元素

8e4a3e78637a168cd5dc2f2cbc845365.png

⑥shuffle(seq):将序列中的元素随机排列,返回打乱后的序列

eb50f810ea4145cf2e75229aacee44cc.png

我们今天一起学习了基本随机数函数和拓展随机数函数,那么在random库中我们需要掌握什么呢?首先我们要具备一种使用随机数的能力,要能够利用随机数种子产生“确定”伪随机数,要能够产生随机整数,要能够对序列类型进行随机操作。我们还需要更多的实战来对random库的八个常用函数进行学习,从而掌握随机函数的能力。

参考:中国大学mooc:python语言程序设计

10cb528075843a8f1b443287f3a15b29.png

编辑 : 314

审核:星空 用心珍惜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值