如何将 Python 的随机数生成器与本地种子一起使用?
Posted
技术标签:
【中文标题】如何将 Python 的随机数生成器与本地种子一起使用?【英文标题】:How to use Python's random number generator with a local seed? 【发布时间】:2016-09-18 06:25:31 【问题描述】:Python 的随机性似乎是全局性的,因此更改它的模块会相互影响。
虽然当然有很多 3rd 方模块,但有没有办法使用 Python 的标准库来获得上下文本地的随机数。
(不使用random.get/setstate
,这在混合来自不同模块的代码时可能会出现问题)。
类似...
r = random.context(seed=42)
number = r.randint(10, 20)
每个模块都可以使用自己的随机上下文。
【问题讨论】:
【参考方案1】:From the docs:
此模块提供的函数实际上是
random.Random
类的隐藏实例的绑定方法。您可以实例化您自己的Random
实例以获取不共享状态的生成器。
制作您自己的 random.Random
实例并使用它。
rng = random.Random(42)
number = rng.randint(10, 20)
【讨论】:
谢谢!我期待看到这个记录更加突出,但它只是在段落中间被引用为纯文本。 - docs.python.org/3/library/random.html - 没有标题或示例代码。 我来这里是为了看一个例子,因为它不在文档中。谢谢。以上是关于如何将 Python 的随机数生成器与本地种子一起使用?的主要内容,如果未能解决你的问题,请参考以下文章