zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python random库生成随机数详解

Python 详解 生成 随机数 Random
2023-09-14 09:01:44 时间

今天继续给大家介绍Python相关知识,本文主要内容是Python random库生成随机数详解。

一、Random库简介

random库是Python的标准库之一,可以使用该库来生成一系列的随机函数。random库使用梅森旋转算法生成一个伪随机序列,在一般的工程实践中,我们可以认为这是一个随机序列。(注意:关于梅森旋转算法,以及伪随机序列等概念,可以参考数学和密码学相关知识)
random库的使用需要先引用该库,执行命令:

import random

即可。

二、Random库常用函数

random库中有两类函数,一种是基本随机函数,另一种是扩展随机数函数。
基本随机函数又有两个,分别是seed()函数和random()函数。
seed()函数可以用一个数做参数,表示指定随机数的“种子”,梅森旋转算法生成伪随机数的条件需要一个随机数作为种子,如果这个“种子”是确定的,那么梅森旋转算法生成的随机数序列也是确定的。如果我们不使用这个函数作为“种子”,那么Python会使用当前的系统时间作为种子,同样可以生成一系列的随机数序列。事实上,指定seed()函数,真正作用在于生成一个可复现的随机数序列,这对于一些程序的调试、试验很有帮助。random()函数可以用来生成一个0-1之间的随机小数(包括0,但是不包含1)。
除了上述基本随机函数外,random库还提供了6个扩展随机函数,这6个函数,可以帮助我们在特定情况下,生成特定的随机序列。这6个函数及其作用如下表所示:

函数作用
randint(x,y)随机生成一个介于x和y之间(包含x和y)的整数,x和y必须是整数,并且x必须小于或等于y
randrange(x,y,k)随机生成一个在x和y之间(包含x和y)的,步长为k的整数。参数k可选,在不指定参数k时,k默认为1
getrandbits(x)随机生成一个x比特长的随机整数
uniform(x,y)随机生成一个在x和y之间(包含x和y)的随机小数,这里的x和y大小任意
choice(seq)在这里seq是一个序列,表示从序列中随机选择一个元素
shuffle(seq)在这里seq是一个序列,表示将序列中的元素随机排列后返回,注意该函数会影响序列本身

三、Random库使用示例

最后,为了更好的帮助大家学习random库,给大家提供一些random库的使用案例。
random基本随机函数运用如下所示:
在这里插入图片描述
从上图中我们可以看到,如果我们使用seed()函数指定了“种子”,那么生成的随机数序列也是固定的,这就实现了“可复现”的随机序列。
random扩展随机函数如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200