Python - Static Method
在 Python 中,@staticmethod 是一種用於定義靜態方法的裝飾器。靜態方法與類別方法和實例方法不同,它不需要對象或類別本身作為參數。靜態方法主要用於將一些邏輯功能打包在類中,但這些功能與類的實例或類本身無關。
靜態方法的特點
- 無需實例化:可以直接通過類名調用,而無需創建類的實例。
- 無隱式參數:方法定義中不會有 self 或 cls 參數,因為靜態方法不關心實例或類本身。
- 獨立於類和對象:通常用於一些工具函數或與類邏輯相關但不需要訪問類或實例屬性的方法。
定義靜態方法
靜態方法使用 @staticmethod 裝飾器來定義:
class MyClass:
@staticmethod
def my_static_method(param1, param2):
return param1 + param2
# 可以直接通過類名調用
result = MyClass.my_static_method(5, 10)
print(result) # Output: 15
在上述例子中,my_static_method 是一個靜態方法,它可以直接通過 MyClass 類名調用,而不需要創建類的實例。
靜態方法的主要用途是當你有一些邏輯需要封裝在類內,但這些邏輯並不需要訪問或修改類或實例的狀態。這使得代碼更加組織和可維護。