我正在学习classmethodspython 的概念.
class A():
n=0
# object method
def func_o(self):
self.n += 1
print self.n
# well, class method
@classmethod
def func_c(cls):
cls.n += 1
print cls.n
Run Code Online (Sandbox Code Playgroud)
在检查callable()类的属性时,我遇到了这个特殊的输出:
>>> [(k, callable(v)) for k,v in A.__dict__.items()]
[('__module__', False), ('__doc__', False), ('func_o', True), ('func_c', False), ('n', False)]
Run Code Online (Sandbox Code Playgroud)
('func_o', True)即使班级__dict__被检查,同样('func_c', False)由于某种原因.
谁能解释一下?