我在哪里可以找到python的随机模块random.py中的random()方法?

时间:2017-02-02 04:58:35

标签: python random

我正在尝试在python中使用不同的核心随机生成器。在阅读随机模块docs时,我发现我必须覆盖现有的random,seed,getstate和setstate方法。但我无法在随机.py模块中找到随机函数。我正在使用python 3.4。

2 个答案:

答案 0 :(得分:0)

你能稍微详细说明吗?我还没有评论的声誉,但是当你说'不同的核心随机发生器'时你指的是改变底层结构? Python使用Mersenne Twister作为核心生成器,这是强大而有效的。

就生成随机数而言,您实际上只需使用

import random
my_random_number_between_0_and_1 = random.random()
my_random_number_between_0_and_1 # print out your new random number

您也可以使用random.seed(),如果您没有传入种子,则使用当前系统时间,这也是伪随机数。

我希望其中一些有帮助!如果没有,请告诉我。抱歉不完全理解。

答案 1 :(得分:0)

以下是文档的说法:

  如果您想使用自己设计的其他基本生成器,则

Random 也可以进行子类化:在这种情况下,覆盖random(),{{1} },seed()getstate()方法。可选地,新生成器可以提供getrandbits()方法 - 这允许randrange()在任意大范围内产生选择。

正如评论中所指出的,这个类在C中实现.GVR编写了一个translation in py 3.2,它没有被维护但你可以用来参考语法,参数等。可以找到一个示例性的随机函数在setstate()