Python staticmethod() ビルトイン関数
メソッドをスタティックメソッドに変換します。
導入
@staticmethod デコレータは、メソッドをクラスに属するものに変換しますが、クラスやインスタンスを最初の引数として受け取りません。これは、クラスとの論理的な関連性を持つものの、クラスの状態やインスタンスの状態に依存しないユーティリティ関数を作成する場合に役立ちます。
スタティックメソッドは、クラス自体から、またはインスタンスから呼び出すことができます。
例
スタティックメソッドを定義して呼び出す方法は次のとおりです。
class MathHelper:
@staticmethod
def add(x, y):
return x + y
# クラスから呼び出す
result1 = MathHelper.add(5, 3)
print(result1)
# インスタンスから呼び出す
helper = MathHelper()
result2 = helper.add(10, 20)
print(result2)
8
30
スタティックメソッドは、クラス (cls) やインスタンス (self) にアクセスできません。本質的には、クラス内に名前空間が設定された通常の関数です。