スタティックメソッド
Pythonにおけるスタティックメソッドの概要です。スタティックメソッドはインスタンス化しなくても呼び出すことができますが、インスタンスからでも呼び出すことができます。なお「self」を用いたインスタンス属性(インスタンス変数)にはアクセスできません。
スタティックメソッドの実装には「@staticmethod」デコレータを用います。
# -*- coding: utf-8 -*-
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」が必要ですが、スタティックメソッドには必要ありません。
メソッドの種類を網羅しました。次はパッケージ化を学びましょう!
▶応用編:パッケージ化
