27

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

4

1 回答 1

34

是的,种子是为Random()模块中的(隐藏的)全局实例设置的。从文档中:

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

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

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

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

于 2012-09-11T11:51:58.127 回答