如何在Python 中實作類別變數和方法
在Python 中,類別(靜態)變數或方法用於管理屬性和行為屬於類別本身,而不是單一實例。
類別變數
在類別定義中宣告但不在方法內宣告的變數變成類別(靜態)變數。例如:
class MyClass: i = 3
i 變數現在可以透過類別名稱存取:
MyClass.i 3
請注意,類別變數與實例層級變數不同。例如,您可以具有:
m = MyClass() m.i = 4 # Outputs (3, 4) print(MyClass.i, m.i)
類別方法
要定義類別方法,請在方法定義之前使用 @staticmethod 裝飾器。類別方法不接收任何實例作為參數,但可以存取和修改類別級變量,例如:
class C: @staticmethod def f(arg1, arg2, ...): ...
類別方法與靜態方法
@beidy建議使用類別方法而不是靜態方法,因為類別方法接收類別類型作為第一個參數,提供額外的靈活性:
class MyClass: @classmethod def f(cls, arg1, arg2, ...): ...
使用類別方法可以更好地控制類別資料和行為以及與類數據和行為進行互動。
以上是如何在Python中使用類別變數和方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!