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條經驗 獲得超8個贊
如果你想使用全局變量,你可以global aniTime
在函數的頂部使用它來在你的函數中使用它
最佳實踐可能是將變量保存在調用函數的循環之外,并且可以將其作為參數傳遞給函數
添加回答
舉報