問題一覧に戻る
中級オブジェクト指向基礎
問題80: メソッドの種類
Pythonには3種類のメソッドがあります。通常のインスタンスメソッド(self引数)、@classmethodデコレータを付けたクラスメソッド(cls引数)、@staticmethodデコレータを付けた静的メソッド(self/cls不要)です。それぞれ用途に応じて使い分けます。
# メソッドの種類
class Math:
# 静的メソッド
def add(x, y):
return x + y
# クラスメソッド
def info(cls):
return cls.__name__
# 静的メソッドを使用
print(Math.add(2, 3))
print(Math.info())