3 回答
TA贡献1804条经验 获得超8个赞
尝试将类变量初始化为None. 这是 Python 中的标准习语,在许多其他语言中也有直接同源词。
导入时间
class Foo():
aniTime = None
def animate(self):
if Foo.aniTime is None:
Foo.aniTime = time.time()
food = Foo()
food.animate()
print(food.aniTime)
time.sleep(2)
fool = Foo()
fool.animate()
print(fool.aniTime)
输出:
1603149209.5965674
1603149209.5965674
第二次调用不会改变原来保存的时间。
TA贡献1871条经验 获得超8个赞
尝试在任何函数外部定义变量,将其调用到函数中,然后在每次使用后从函数中返回它。
var = 1
def example(var):
#insert program code
var += 1
return var
var = example(var)
这将使每次“example”函数运行时,“var”都会被传递到其中,然后带回并加一。程序运行时每次使用此函数,变量“var”都会加一。
在这种情况下,您可以将我用作示例的“var”变量替换为“aniTime”变量,并且您只需在函数之前定义它一次,并且每次调用该函数时它都不会被初始值覆盖。
TA贡献1827条经验 获得超7个赞
如果你想使用全局变量,你可以global aniTime
在函数的顶部使用它来在你的函数中使用它
最佳实践可能是将变量保存在调用函数的循环之外,并且可以将其作为参数传递给函数
添加回答
举报