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

Python中随机种子的范围是什么?,python,random,scope,random-seed,Python,Random,Scope,Random Seed,如果我在模块中的一个类中使用Python函数random.seed(my_seed),该种子是否会保留在该模块中实例化的所有其他类中?是的,该种子是为模块中的(隐藏的)全局random()实例设置的。从: 此模块提供的函数实际上是random.random类的隐藏实例的绑定方法。您可以实例化自己的Random实例,以获得不共享状态的生成器 如果需要将种子分开,请使用separateRandom()实例;您可以在实例化新种子时传入它: >>> from random import

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

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

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

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

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

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

这是否意味着
eval(“random.random()”)
也将尊重此种子?@Dilawar是的,
eval()
在这里并不特殊;它仍然使用相同的名称空间,并且从中运行的globals中查找
eval()
,查找相同的模块。只是澄清一下:从此类实例化的对象仍然会为随机变量生成不同的(每个对象)值。