クラスメソッド
クラスメソッドについて ▲
変数にインスタンス変数とクラス変数があるように、メソッドにもインスタンスメソッドとクラスメソッドがある
インスタンスメソッドは、インスタンス化されたオブジェクトを経由しなければ呼び出すことができないメソッドだが、クラスメソッドはインスタンス化せずともクラスから直接呼び出すことができる
クラスメソッドはメソッドの定義の上に @classmethod とデコレータをつけることで使用することができる
また、クラスメソッドは第一引数に、インスタンスを示す self ではなくクラスを示す cls を受け取る
具体的な例を以下に記載する
lesson.py
class T(object):
text = 'Hello,World'
@classmethod
def sample_method(cls):
print(cls.text)
t = T()
# クラスメソッドの呼び出しは クラス名.メソッド名
T.sample_method() # Hello,World
# インスタンス経由でも同様に呼び出せる
t.sample_method() # Hello,World
目次