繁体   English   中英

如何使用Python的随机数生成器与本地种子?

[英]How to use Python's random number generator with a local seed?

Python的随机似乎是全局的,因此更改它的模块将相互影响。

虽然当然有许多第三方模块,但有没有办法使用Python的标准库在上下文中包含一个本地随机数。

(不使用random.get/setstate ,当混合来自不同模块的代码时可能会出现问题)。

就像是...

r = random.context(seed=42)
number = r.randint(10, 20)

每个模块可以使用自己的随机上下文。

来自文档

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

制作你自己的random.Random实例并使用它。

rng = random.Random(42)
number = rng.randint(10, 20)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM