700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数

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

时间:2019-01-01 07:52:07

相关推荐

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

概述

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

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

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

几乎所有的模块功能依赖于基本功能随机的( ) ,它生成一个随机浮点均匀的半开区间[ 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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。