class TaxCalc:
@classmethod
def class_method(cls, price):
assert cls.name == TaxCalc.name
return int(price * 0.1)
@staticmethod
def static_method(price):
return int(price * 0.1)
print(TaxCalc.class_method(1000)) TaxCalcクラスの class_method ですよ
print(TaxCalc.static_method(1000))
インスタンスメソッドとの区別をつけるため、関数の頭に@classmethodか@staticmethodをつける。
@classmethod クラスの情報が必要な時
@staticmethod クラスの情報が不必要
まだ、よくわからん。
コメント