相关疑难解决方法(0)

python classmethods不能从类中调用.__ dict__

我正在学习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)由于某种原因.

谁能解释一下?

python oop class-method python-2.7

4
推荐指数
1
解决办法
553
查看次数

标签 统计

class-method ×1

oop ×1

python ×1

python-2.7 ×1