Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って | すぐに忘れる脳みそのためのメモ
function のクラスメソッドを返します。
クラスメソッドは、インスタンスメソッドが暗黙の第一引数としてインスタンスをとるように、第一引数としてクラスをとります。
class Hoge1: @classmethod def sayHoge(cls, x): print x + " hoge" Hoge1.sayHoge("ABC") Hoge1().sayHoge("abc") class Hoge: def sayHoge(self, x): print x + " hoge" Hoge = Hoge() Hoge.sayHoge("ABC") Hoge().sayHoge("abc")
ABC hoge
abc hoge
ABC hoge
AttributeError: Hoge instance has no __call__ method