如果我不使用 Generator 或 RandomState,如何在 Numpy 中生成随机数?

How a random number is generated in Numpy if I don't use Generator or RandomState?

我看过Numpy的文档,但我还是不知道如果不使用Generator或RandomState,随机数是如何生成的。 据我所知,我们可以通过

得到一个从1到10的随机数
#use RandomState
print(np.random.RandomState().randint(1,10,(1)))
#use Generator
print(np.random.default_rng().randint(1,10,(1)))
#my question
print(np.random.default_rng().integers(1,10,(1)))

那么第三种方式的随机数是如何产生的呢?

(这针对问题的第一个版本)

全局 在 start/import/load-time 处 RandomState 创建了一个 RandomState

code

在此讨论中阅读更多内容:Public access to global state for numpy.random