Python中随机种子的范围是什么?

时间:2012-09-11 11:46:42

标签: python random scope random-seed

如果我在我的模块中的一个类中使用Python函数random.seed(my_seed),那么这个种子是否会保留在此模块中实例化的所有其他类中?

1 个答案:

答案 0 :(得分:22)

是的,为模块中的(隐藏)全局Random()实例设置了种子。来自documentation

  

此模块提供的函数实际上是random.Random类的隐藏实例的绑定方法。您可以实例化自己的Random实例,以获取不共享状态的生成器。

如果您需要将种子分开,请使用单独的Random()个实例;您可以在实例化时传入新种子:

>>> from random import Random
>>> myRandom = Random(anewseed)
>>> randomvalue = myRandom.randint(0, 10)

该类支持与模块相同的接口。