3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
嘗試將類變量初始化為None. 這是 Python 中的標(biāo)準(zhǔn)習(xí)語,在許多其他語言中也有直接同源詞。
導(dǎo)入時(shí)間
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
第二次調(diào)用不會(huì)改變?cè)瓉肀4娴臅r(shí)間。

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
嘗試在任何函數(shù)外部定義變量,將其調(diào)用到函數(shù)中,然后在每次使用后從函數(shù)中返回它。
var = 1
def example(var):
#insert program code
var += 1
return var
var = example(var)
這將使每次“example”函數(shù)運(yùn)行時(shí),“var”都會(huì)被傳遞到其中,然后帶回并加一。程序運(yùn)行時(shí)每次使用此函數(shù),變量“var”都會(huì)加一。
在這種情況下,您可以將我用作示例的“var”變量替換為“aniTime”變量,并且您只需在函數(shù)之前定義它一次,并且每次調(diào)用該函數(shù)時(shí)它都不會(huì)被初始值覆蓋。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果你想使用全局變量,你可以global aniTime
在函數(shù)的頂部使用它來在你的函數(shù)中使用它
最佳實(shí)踐可能是將變量保存在調(diào)用函數(shù)的循環(huán)之外,并且可以將其作為參數(shù)傳遞給函數(shù)
添加回答
舉報(bào)