我应该在python的随机包中播种randint函数吗?

时间:2017-08-25 07:39:03

标签: python random

我想检查randint功能是否已播种。

我应该手动播种吗?如果是,我该怎么做?

1 个答案:

答案 0 :(得分:4)

除非您有非常具体的要求,否则无需明确种子。第一次导入模块时,内部Random()实例会自动播种。

来自module documentation

  

此模块提供的函数实际上是random.Random类的隐藏实例的绑定方法。

Random.__init__()

class Random(_random.Random):
    # ...
    def __init__(self, x=None):
        # ...
        self.seed(x)

# ...

_inst = Random()

因此实例在创建模块时调用self.seed(None)None表示'种子的最佳来源'(可能是time.time()),请参阅random.seed()

  

如果 a 被省略或None,则使用当前系统时间(与过程的PID一起)。如果操作系统提供随机源,则使用它们而不是系统时间(有关可用性的详细信息,请参阅os.urandom()函数)。