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