スタティックメソッド | Python-izm

スタティックメソッド

Pythonにおけるスタティックメソッド静的メソッド)の概要です。スタティックメソッドはインスタンス化しなくても呼び出すことができますが、インスタンスからでも呼び出すことができます。なおselfを用いたインスタンス属性(インスタンス変数)にはアクセスできません。

@staticmethod

スタティックメソッドの実装には@staticmethodデコレータを用います。

class TestClass:

    # スタティックメソッド
    @staticmethod
    def sample_staticmethod(x, y):
        return x + y


# インスタンス化しないで呼び出し
print(TestClass.sample_staticmethod(10, 100))

# インスタンス化してからも呼び出せる
test_class = TestClass()
print(test_class.sample_staticmethod(100, 1000))
110
1100

@staticmethodでデコレートされたメソッドはスタティックメソッドとなります。インスタンスメソッドにはself、クラスメソッドにはclsが必要ですが、スタティックメソッドには必要ありません。