0

0

random模块在Python哪个版本

anonymity

anonymity

发布时间:2019-06-17 09:50:13

|

3625人浏览过

|

来源于php中文网

原创

random模块用于生成伪随机数,源码位置: lib/random.py

真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是可见的。我们可以这样认为这个可预见的结果其出现的概率是100%。所以用计算机随机函数所产生的“随机数”并不随机,是伪随机数。

random模块在Python哪个版本

计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。

只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。

立即学习Python免费学习笔记(深入)”;

Python的这个库在底层使用通用的算法,经过长久的考验,可靠性没得说,但绝对不能用于密码相关的功能。

一、基本方法

random.seed(a=None, version=2)

初始化伪随机数生成器。如果未提供a或者a=None,则使用系统时间为种子。如果a是一个整数,则作为种子。

random.getstate()

返回一个当前生成器的内部状态的对象

random.setstate(state)

传入一个先前利用getstate方法获得的状态对象,使得生成器恢复到这个状态。

random.getrandbits(k)

返回一个不大于K位的Python整数(十进制),比如k=10,则结果在0~2^10之间的整数。

二、针对整数的方法

random.randrange(stop)
random.randrange(start, stop[, step])

等同于choice(range(start, stop, step)),但并不实际创建range对象。

random.randint(a, b)

返回一个a

三、针对序列类结构的方法

random.choice(seq)

从非空序列seq中随机选取一个元素。如果seq为空则弹出 IndexError异常。

random.choices(population, weights=None, *, cum_weights=None, k=1)

3.6版本新增。从population集群中随机抽取K个元素。weights是相对权重列表,cum_weights是累计权重,两个参数不能同时存在。

random.shuffle(x[, random])

随机打乱序列x内元素的排列顺序。只能针对可变的序列,对于不可变序列,请使用下面的sample()方法。

random.sample(population, k)

从population样本或集合中随机抽取K个不重复的元素形成新的序列。常用于不重复的随机抽样。返回的是一个新的序列,不会破坏原有序列。要从一个整数区间随机抽取一定数量的整数,请使用sample(range(10000000), k=60)类似的方法,这非常有效和节省空间。如果k大于population的长度,则弹出ValueError异常。

四、真值分布

风易在线销售系统
风易在线销售系统

《风易在线销售系统》是一套为企业电子商务项目量身设计打造的在线商业销售系统,本系统将商品管理、客户管理、订单管理、信息管理、界面管理、系统管理等功能无缝融合,并且提供简单易用的后台管理平台,独家首创的模版内核系统,以及诸多实用的辅助模块。为客户提供了一个低成本,高效率,专业化的在线销售建设方案。 【新增】新增后台选择每页显示数据数量。 【新增】新增一个单客服模式功能。 【新增】新增根据一级分类显示

下载

random模块最高端的功能其实在这里。

random.random()

返回一个介于左闭右开[0.0, 1.0)区间的浮点数

random.uniform(a, b)

返回一个介于a和b之间的浮点数。如果a>b,则是b到a之间的浮点数。这里的a和b都有可能出现在结果中。

random.triangular(low, high, mode)

返回一个low

random.betavariate(alpha, beta)

β分布。返回的结果在0~1之间

random.expovariate(lambd)

指数分布

random.gammavariate(alpha, beta)

伽马分布

random.gauss(mu, sigma)

高斯分布

random.lognormvariate(mu, sigma)

对数正态分布

random.normalvariate(mu, sigma)

正态分布

random.vonmisesvariate(mu, kappa)

卡帕分布

random.paretovariate(alpha)

帕累托分布

random.weibullvariate(alpha, beta)

五、可选择的生成器

class random.SystemRandom([seed])

使用 os.urandom() 方法生成随机数的类,由操作系统提供源码,不一定所有系统都支持

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

61

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

31

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

72

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

20

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

4

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

49

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

11

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 3.1万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号