2017-10-15 58 views
0

所以我有一個Python類,大致是:保持跟蹤實例化時增加的Python類變量。

class Aircraft(): 
    number_of_airbus = 0 
    number_of_boeing = 0 
    ... 

總的想法是,當一個類實例或者波音公司的空客或數字的數量應該在未來的時間因此增加了類實例化的新的更新提供號碼。

這是可能的或應該存儲在數據庫中的總數?

+0

你會得到兩種不同的結果:當你使用一個類變量,你會得到創建的對象的數量(! =存在)在程序的這個運行中,當使用數據庫時,它將永久計數在程序的所有運行中。 –

+0

如果你想在類中引用變量而不是在類的實例中,你可以參考'Aircraft.number_of_airbus'。如果你想繼續以這種方式計算,你可以在'init'中增加它們。另一個問題是,這對你來說是否正確。 –

+0

@TomKarzes我不能在__init__中做增量,在另一種方法中可以增加嗎? – user7692855

回答

0

關於Python類級別定義的所有變量都考慮 靜態(實例共享)

所以當你增加number_of_airbusnumber_of_boeing應在此特定類的所有實例中反映出來。變量

訪問應該通過類名:

>>> class Aircraft: 
...  n = 1 
... 
>>> Aircraft.n 
1 
>>> air = Aircraft() 
>>> air.n 
1 
>>> Aircraft.n += 1 
>>> Aircraft.n 
2 
>>> air.n 
2 

希望這是有用的