我想检查randint
功能是否已播种。
我应该手动播种吗?如果是,我该怎么做?
答案 0 :(得分:4)
除非您有非常具体的要求,否则无需明确种子。第一次导入模块时,内部Random()
实例会自动播种。
此模块提供的函数实际上是random.Random类的隐藏实例的绑定方法。
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()
函数)。