如何动态定义,类的某些方法已经存在于其基类中? (Python 2.7)

时间:2014-12-02 16:26:06

标签: python-2.7 metaclass

我需要定义一个ChildClass的方法覆盖BaseClass中现有的方法。 (Python 2.7)

class BaseClass(object):
    def method(self):
        pass

class ChildClass1(BaseClass):
    def method(self):
        pass

class ChildClass2(BaseClass):
    pass

问题在于,如果我获得ChildClass1和ChildClass2的方法列表(例如,使用dir()指令),则两者的结果相同,因为它们都从BaseClass继承。 有没有办法在动态上定义这些案例之间的区别?

1 个答案:

答案 0 :(得分:0)

好吧,我找到了解决方案。所需信息驻留在任何类的__dict__成员中,因此即使某些SonClass继承自其他一些BaseClass,唯一的SonClass成员也将出现在__dict__成员中,但不会继承来自FatherClass的成员!