[英]Python function call in class
我想做一個返回偽隨機數生成器的 class 。 我想將 _rand function 的結果保存在 _r 中,但是當我調用 function _rand(int(time.time())) 時,我收到錯誤消息“rand() 缺少 1 個必需的位置參數:'seed'”。 有人可以解釋一下我做錯了什么。
class PRNG:
import time
_m = 32768
_b = 9757
_c = 6925
def _rand(self, seed):
n = seed % self._m
while True:
n = (n * self._b + self._c) % self._m
yield n
_r = _rand(int(time.time()))
def rand(self) :
return self._r.__next__()
prng = PRNG()
print(prng.rand())
_rand()
取兩個 arguments; self
和seed
。 具體來說,您需要提供正在調用該方法的實例。 而不是你所擁有的,嘗試在構造函數中定義_r
def __init__(self):
self._m = 32768
self._b = 9757
self._c = 6925
self._r = self._rand(int(time.time()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.