函数属性生命周期
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不会中途自动掉值吗?
函数 f
的 x
属性将在 f
的整个生命周期内保留其值。在全局范围内定义的函数在程序的整个生命周期内都有效。所以你可以安全地使用 f.x
进行记忆。
我正在写一个函数的记忆,我想在函数对象中存储一个属性。 函数属性在进程的生命周期内是否可用?如果不是,我怎样才能实现这样的目标?
谢谢
我将这个问题解释为“我可以合理地期望函数对象的 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不会中途自动掉值吗?
函数 f
的 x
属性将在 f
的整个生命周期内保留其值。在全局范围内定义的函数在程序的整个生命周期内都有效。所以你可以安全地使用 f.x
进行记忆。