我正在尝试用 python 编写一个线性同余生成器,我发现了一小部分 code on Wikipedia 但在理解它时有些困难。代码如下:
def lcg(modulus, a, c, seed=None):
if seed != None:
lcg.previous = seed
random_number = (lcg.previous * a + c) % modulus
lcg.previous = random_number
return random_number / modulus
lcg.previous = 2222
我的问题是“
lcg.previous
”是什么?我注意到函数已经完成,lcg.previous
的值被更新和存储。它是在这里声明为函数 lcg() 的成员变量还是实际上为 python 中的所有函数设置了某种默认设置?非常感谢!
最佳答案
它是函数的“成员变量”,因此每次调用它时(除非使用 seed
的某些内容调用),序列将选择停止的位置。
关于python - python中的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43238502/