0
之間共享成員變量讀https://stackoverflow.com/a/69067/1767754後,我知道創建實例(靜態)
1)在Python靜態成員是不是在C相同的靜態成員++
2)僅新創建的實例將有最新的價值同步靜態變量的值
class Test:
var = 3
def __init__(self):
pass
a = Test()
print "a " + str(a.var) #output: 3
Test.var = 5
b = Test()
print "b " + str(b.var) #output: 5
print "a " + str(a.var) #output: 3 not synced with static member
那麼在類實例之間共享成員變量的常用方法是什麼?怎麼樣創建一個擁有共享數據的全局類?這樣的:
class Globals:
var = 3
class Test:
def setVar(self, var):
Globals.var = var
test = Test()
test.setVar(3)
print Globals.var
無法重現,它總是輸出類的值。此外,靜態變量的行爲與C++完全相同,但不要忘記向對象添加屬性可能會動態發生,並且查找將首先查找實例,然後在類中查找。 –
但是,我在最後一次輸出中得到了5個。 – hsfzxjy
對不起,我創建了廢話,我正在快速檢查... – user1767754