概述

这个模块实现的伪随机数生成器。

对于整数,从区间选取。对于序列,随机元素。

在实线的,有功能来计算均匀分布,正态分布(高斯) ,对数正态分布,负指数,γ和β分布。对于生成的角度分布,冯·米塞斯的分布是可用的。

几乎所有的模块功能依赖于基本功能随机的( ) ,它生成一个随机浮点均匀的半开区间[ 0.0 , 1.0 ) 。 Python使用Mersenne扭曲为核心的发电机。它产生53位精度浮点值,周期为2 19937-1 。 C语言底层实现是快速和线程。梅森倍捻机是最广泛的测试,随机数生成器的存在之一。然而,作为完全确定性的,所以不适合用于所有目的,并且是完全不适合加密的目的。

该模块提供的功能实际上是必然的random.Random类的隐藏的实例的方法。你可以实例化你自己随机的情况下获得的发电机不共享状态。这对于多线程程序特别有用,创建随机的为每个线程使用不同的实例,并使用jumpahead ( )方法,使之有可能看到每个线程生成的序列不重叠。

在这种情况下,覆盖随机的( ) ,种子( ) ,有getstate ( )的setstate ()和jumpahead ( )方法:随机类也可以,如果你想使用你自己设计的不同的基本生成子类。或者,一种新型的发电机可以提供一个getrandbits ( )方法 - 这让randrange ( )产生的选择了一个任意大的范围内。

新的2.4版: getrandbits ( )方法。

作为子类的一个实例,随机模块提供了一个实现纯Python的替代发电机WichmannHill类。这个类提供了重现从早期版本的Python ,它使用的WICHMANN山为核心的算法生成的结果向后兼容的方式。注意,这WICHMANN - 希尔发生器可以不再推荐:其周期是由当代标准太短,并且所产生的序列是已知的失败一些严格的随机性测试。请参阅下面的参考资料为最近的变体,修复这些缺陷。

改变在2.3版本: MersenneTwister更换WICHMANN - 希尔作为默认生成器。

随机模块还提供了使用该系统的功能os.urandom ()从由操作系统提供源产生随机数的SystemRandom类。

快速入门

>>> random.random() # Random float x, 0.0 <= x < 1.0

0.37444887175646646

>>> random.uniform(1, 10) # Random float x, 1.0 <= x < 10.0

1.1800146073117523

>>> random.randint(1, 10) # Integer from 1 to 10, endpoints included

7

>>> random.randrange(0, 101, 2) # Even integer from 0 to 100

26

>>> random.choice('abcdefghij') # Choose a random element

'c'

>>> items = [1, 2, 3, 4, 5, 6, 7]

>>> random.shuffle(items)

>>> items

[7, 3, 2, 5, 6, 4, 1]

>>> random.sample([1, 2, 3, 4, 5], 3) # Choose 3 elements

[4, 1, 5]

Python的单元测试框架,有时也被称为PyUnit,是Kent Beck和Erich Gamma的JUnit的Python版本,JUnit又来源于Kent的Smalltalk的测试框架。

单元测试支持自动化测试,测试共享setup和shutdown代码,汇集测试为集合,报告框架和测试独立。

一些重要概念:

test fixture 测试夹具:执行测试的准备和清理工作。这可能包括,例如,创建临时或代理数据库,目录,或启动一个服务器进程。

测试用例

test case 测试用例:测试的最小单位。它检查特定的输入的特定响应。单元测试提供一个基类TestCase用来建立新的测试用例。

test suite测试套件:测试用例或测试套件或两者的集合,用来汇聚要执行的测试。

test runner 测试执行器:执行侧事故并提供输出给用户。它可使用图形界面,文本界面,或者返回特殊的值指示执行的测试结果。

test case和test fixture 的概念通过 TestCase和FunctionTestCase类的支持,前者创建新测试的时使用,后者适用于集成现有的测试代码到unittes驱动框架。TestCase的setUp()和tearDown()方法可以重载来提供准备和清理工作。FunctionTestCase中可以传递给构造函数准备和清理的函数名。当测试运行时先执行fixture初始化,如果初始化执行成功,不管测试的结果如何测试执行后会执行清理方法。每个TestCase实例只用于运行单个测试方法,每个测试都有自己的fixture。

Test suite由TestSuite类实现。它允许汇聚单个测试和test suite。 test runner只具有run()方法的对象,它接受一个TestCase或TestSuite对象作为参数,并返回结果对象。类TestResult提供了结果对象。unittest提供TextTestRunner作为默认的示例测试执行器,在标准错误流中报告测试结果。

快速入门

本文地址

参考资料

代码地址:Lib/unittest/mock.py

python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数相关推荐

  1. python如何扩展库_python的常用扩展库以及使用方式

    一.常用库(标准库+扩展库) 标准库 说明 math 数学模块 random 随机数以及随机化相关模块 datetime 日期时间模块 ​collections 包含更多扩展性序列的模块 functo ...

  2. python中读写excel的扩展库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...

    常见库简介 xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. http://xlrd.readthedocs.io/en/latest/ 1.xlrd ...

  3. python源程序文件的扩展名_python程序文件扩展名知识点详解

    python程序文件的扩展名称是什么 python程序的扩展名有.py..pyc..pyo和.pyd..py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言 ...

  4. Python数据分析与处理扩展库pandas常用选项设置

    中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大 ...

  5. qt调用import sys库_Python模块之 sys 模块

    引入 1.什么是 sys 模块 sys 模块是与 Python 解释器交互的一个接口 该模块提供对解释器使用或维护的一些变量的访问和获取 它提供了许多函数和变量来处理 Python 运行时环境的不同部 ...

  6. python都需要安装哪些库_python常用到哪些库?

    Python作为一个设计优秀的程序语言,现在已广泛应用于各种领域,依靠其强大的第三方类库,Python在各个领域都能发挥巨大的作用. 下面我们就来看一下python中常用到的库: 数值计算库: 1. ...

  7. python分析方向的第三方库_Python 机器学习方向的第三方库是

    Python 机器学习方向的第三方库是 答:TensorFlow "城门立木"是立法史上的重要事件.( ) 答:正确 慢性支气管炎最重要的病因是: 答:感染 家具设计的设计程序主要 ...

  8. python有什么好玩的库_python有什么好玩的库

    python好玩的库有:1.PyGame,一个游戏开发框架:2.Pillow,一个有关图片操作处理的软件:3.Selenium,一款浏览器自动化测试框架:4.Asciimatics等等. Python ...

  9. 基于python计算生态的第三方库总结与介绍

    摘要:Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域.即使在每个方向,也会有大量的专业人员开发多个第三方库来给出具体设计.正是因为python有了这么多"隐形的翅膀&quo ...

最新文章

  1. carafe 上采样
  2. 哭了,复现TensorFlow版本MAE的shuffle和reshuffle
  3. php 协程 mysql_实现一个协程版mysql连接池
  4. UBUNtu·E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
  5. linux 火锅平台,“定制版火锅”来袭,持续创新才能永葆活力
  6. Vant-UI 表单组件(Field组件):验证表单元素表单提交 - 踩坑篇
  7. 公众号php空间是啥意思,什么是“希尔伯特空间”?
  8. unity两个项目合并 同名_表格合并,你还在复制粘贴?教你一键合并,超简单!...
  9. 直接拿来用!谷歌开源网络库 TensorNetwork,GPU 处理提升 100 倍
  10. 递归和循环两种方式求解连续数的相加
  11. 简单的圆形图标鼠标hover效果 | CSS3教程
  12. 基于MyEclipse+Mysql+Tomcat+SSH开发的运动会管理系统
  13. 数学建模大赛考什么计算机基础知识,华为杯数学建模竞赛
  14. SQL建表语句转换为Excel表格
  15. 程序员如何阅读英文文档
  16. 重复测量资料纵向研究的数据分析-1
  17. xlsx格式表格汉字批量转音节,不带声调(python)
  18. 为什么要参加hadoop培训
  19. 制作多关卡系统 func_brush
  20. Panda3d如何获取到可用的模型?Maya、3D Max、OBJ等3D格式转换为egg、gltf文件

热门文章

  1. 腾讯AI Lab造出中国第一台临床应用智能显微镜!
  2. 存储类型auto,static,extern,register的区别
  3. ubuntu16安装最新protocbuf 和 protoc-gen-go
  4. 系统测试分类和测试常用方法
  5. 大剑无锋之Hbase的优化【面试推荐】
  6. 如何使用markdown编辑器?官方文档在此
  7. javascript中的内置对象和数据结构
  8. zookeeper客户端库curator分析
  9. java线程内存模型_深度解析Java多线程的内存模型
  10. java多线程之线程的安全性(一)