【发布时间】:2017-12-24 17:24:14
【问题描述】:
除了np.random.<some function>.__self__ 之外,还有更直接的方法来访问在导入时创建的RandomState 对象吗? np.random._rand 和 getattr(np.random, "_rand") 都提高了 AttributeError。前者工作正常,但似乎不是很透明/Pythonic,尽管最透明的可能只是创建一个单独的 RandomState 对象。目的是将interal_state 变量传递给直接调用randomkit 函数的cython 函数。
【问题讨论】:
-
我明白了,该页面上的第二个答案给了我正在寻找的答案。面向未来是 .__self__ 的一个很好的论据。谢谢。
-
据我所知,
__self__和_rand是访问实际全局RandomState对象的唯一方法。通常创建一个新实例并使用它会更好(而且更 Pythonic :))。 -
我认为这就是我要做的,如果我的函数接受随机状态对象作为参数,这也使得单元测试更容易。
标签: python numpy cython numpy-random