函数属性生命周期

function attribute lifespan

我正在写一个函数的记忆,我想在函数对象中存储一个属性。 函数属性在进程的生命周期内是否可用?如果不是,我怎样才能实现这样的目标?

谢谢

我将这个问题解释为“我可以合理地期望函数对象的 user-defined 属性在我的程序的整个生命周期中持续存在吗?例如,在这段代码中:

def f():
    f.x += 1
    return f.x

f.x = 0

print(f())
print(f())
print(f())

#desired result:
#1
#2
#3

...保证f.x不会中途自动掉值吗?

函数 fx 属性将在 f 的整个生命周期内保留其值。在全局范围内定义的函数在程序的整个生命周期内都有效。所以你可以安全地使用 f.x 进行记忆。