如果我在我的模块中的一个类中使用Python函数random.seed(my_seed)
,那么这个种子是否会保留在此模块中实例化的所有其他类中?
答案 0 :(得分:22)
是的,为模块中的(隐藏)全局Random()
实例设置了种子。来自documentation:
此模块提供的函数实际上是
random.Random
类的隐藏实例的绑定方法。您可以实例化自己的Random
实例,以获取不共享状态的生成器。
如果您需要将种子分开,请使用单独的Random()
个实例;您可以在实例化时传入新种子:
>>> from random import Random
>>> myRandom = Random(anewseed)
>>> randomvalue = myRandom.randint(0, 10)
该类支持与模块相同的接口。