考えてみましょう:@のclassmethod` `なしでクラスメソッドを使用して
class cla(object):
def __init__(self,val):
self.val = val
def met(self):
return self.val + 1
その後cla.met(cla(1))
戻り2
を。
メソッドmet
を使用するためにクラスcla
のインスタンスは必要ないので、これはデコレータを使用していないのにクラスメソッドであることを意味しますか?@classmethod
?
私はhttps://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methodsを読んでどのようなクラスメソッドが良いか理解していますが、なんとか@classmethod
という意図された意味が既にクラスの通常のメソッドに存在しているように見えます。彼らはコンパイルさえしていないからです。あなたはクラスcla
のインスタンスがある場合は
多少の関連https://stackoverflow.com/questions/12935241/python-call-instance-method-using-func –