問題一覧に戻る
中級オブジェクト指向基礎
問題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())