create_py_random_state#
- create_py_random_state(random_state=None)[source]#
返回一个根据输入的
random.Random
实例。- Parameters:
- random_stateint 或随机数生成器或 None (默认=None)
如果是 int,返回一个以 seed=int 设置的
random.Random
实例。如果是
random.Random
实例,则返回它。如果是 None 或
np.random
包,返回np.random
使用的全局随机数生成器。如果是
np.random.Generator
实例,或np.random
包,或全局 numpy 随机数生成器,则返回它,包装在PythonRandomViaNumpyBits
类中。如果是
PythonRandomViaNumpyBits
实例,则返回它。如果是
PythonRandomInterface
实例,则返回它。如果是
np.random.RandomState
实例且不是全局 numpy 默认值,则返回它,包装在PythonRandomInterface
中,以便与旧代码进行向后比特流匹配。
Notes
一个旨在说明我们对 numpy 随机数支持关系的图表称为 NetworkX Numpy Random Numbers。
关于此支持的更多讨论也出现在 gh-6869#comment。
numpy.random 数生成器的包装器允许它们模仿 Python 随机数生成算法。例如,Python 可以创建任意大的随机整数,而包装器使用 Numpy 比特流与 CPython 的 random 模块来选择任意大的随机整数。
我们提供两个包装器类:
PythonRandomViaNumpyBits
通常是您想要的,并且总是用于np.Generator
实例。但对于需要重新创建在 NetworkX 3.2 或更早版本中生成的随机数的用户,我们保留了PythonRandomInterface
包装器。我们仅在传递了从种子预初始化的(非默认)np.RandomState
实例时使用它。否则使用较新的包装器。