在 Python 中建立靜態變數和方法
在 Python 中,靜態變數和方法分別稱為類別變數和類別方法。這些實體在類別層級定義,無需實例化物件即可存取和操作。
類別變數
類別變數在類別定義內、任何方法之外宣告。它們在類別的所有實例之間共享,並且可以使用類別名稱後面跟著一個點來存取。例如:
class MyClass: i = 3 print(MyClass.i) # Outputs 3
類別方法
類別方法是在類別中定義的函數,但與實例方法不同,它們對類別本身進行操作,而不是對類別本身進行操作在一個實例上。它們是使用 @staticmethod 裝飾器聲明的。
class MyClass: @staticmethod def f(arg1, arg2, ...): ...
可以使用類別名稱直接呼叫類別方法,無需物件。它們通常用於執行獨立於各個實例的任務,例如實用程式函數或類型檢查。
類別方法優於靜態方法
有些程式設計師喜歡類別方法而不是靜態方法因為他們可以接收類別類型作為第一個參數。這允許該方法存取特定於類別的資訊並執行更複雜的操作。
class MyClass: @classmethod def g(cls, arg1, arg2, ...): ...
範例
考慮以下包含類別變數和類別變數的類別定義類別方法:
class MyClass: count = 0 @classmethod def get_count(cls): return cls.count
該類別包含一個類別變數count,用於追蹤建立的物件的數量和一個類別方法get_count 檢索count 的目前值。要使用它們,我們可以編寫:
MyClass.count += 1 # Increment the class variable print(MyClass.get_count()) # Call the class method to get the count
類別變數和方法提供了一種在類別的不同實例之間定義和使用共享資料和功能的便捷方法,從而簡化了程式碼組織並提高了程式碼的可重用性。
以上是Python 中的靜態變數和方法如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!