我正在学习Python,我发现了以下代码:
rgen = np.random.RandomState(self.random_state)
在这段代码中,self.random_state
是一个int
。我查看了documentation并发现RandomState(int)
不作为一种方法存在,而只是一个“方法容器”。
那么,如何调用RandomState(self.random_state)
呢?
RandomState
是一个类,RandomState(whatever_arguments)
只是创建了类RandomState
的新实例。
实例创建通常通过__init__
(和/或__new__
)进行,这是一种特殊方法,并不总是单独记录。通常,就像在这种情况下,它已经记录在类的docstring中,您已经链接到相关的documentation page,它列出了实例创建的参数:
class numpy.random.RandomState
Mersenne Twister伪随机数发生器的容器。
RandomState公开了许多用于生成从各种概率分布中提取的随机数的方法。除了特定于分发的参数之外,每个方法都采用默认为None的关键字参数大小。如果size为None,则生成并返回单个值。如果size是整数,则返回填充了生成值的1-D数组。如果size是一个元组,则填充并返回具有该形状的数组。
兼容性保证使用相同参数的固定种子和对“RandomState”方法的固定系列调用将始终产生相同的结果,直到舍入误差,除非值不正确。将修复不正确的值,并在相关文档字符串中记录进行修复的NumPy版本。只要先前的行为保持不变,就允许扩展现有参数范围和添加新参数。
参数:
seed : {None, int, array_like}, optional
随机种子用于初始化伪随机数发生器。可以是0到2 ** 32 - 1之间的任何整数,此类整数的数组(或其他序列),或无(默认值)。如果seed为None,则RandomState将尝试从/ dev / urandom(或Windows模拟)中读取数据(如果可用),否则从时钟读取种子。