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が必要ですが、スタティックメソッドには必要ありません。