Python random库生成随机数详解
今天继续给大家介绍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
相关文章
- Python学习:循环语句教程
- python字符串删除指定符号(不限位置)「建议收藏」
- python hashlib_Python hashlib模块实例使用详解
- python的特点和优势_Java与Python异同
- Python抛出异常_python抛出异常的作用
- python如何生成随机数_Python生成50个随机数
- Python数据结构详解(一)
- Python list列表详解
- python生成验证码,文字转换为图片详解编程语言
- Python生成文件的MD5和sha1详解编程语言
- Python文件夹常用操作详解编程语言
- Python操作Word批量生成文章详解编程语言
- python生成128条形码(code128)详解编程语言
- python通过openpyxl生成Excel文件详解编程语言
- Python实现 深度优先算法生成迷宫详解编程语言
- Python测试Sqlite代码详解编程语言
- python中对象、类型和元类之间的关系详解大数据
- android apk 一键生成混淆文件python脚本分享详解编程语言
- Python中深浅拷贝 垃圾回收与 super继承(六)详解编程语言
- Python学习:1.快速搭建python环境详解编程语言
- Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)详解编程语言
- Python实现装饰模式的一段代码详解编程语言
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)详解编程语言
- Python面试基础题-2018-12-26详解编程语言
- Python二维码的生成与识别详解编程语言
- python作业之生成随机数详解编程语言
- Python pydoc模块详解:查看、生成帮助文档
- 如何在Linux上将Python脚本设置为后台运行?(linux后台运行python)