Python staticmethod() ビルトイン関数

Python 3 ドキュメントより

メソッドをスタティックメソッドに変換します。

導入

@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) にアクセスできません。本質的には、クラス内に名前空間が設定された通常の関数です。

関連リンク

Morty Proxy This is a proxified and sanitized view of the page, visit original site.