仔细考虑为什么要这样做;你可能不会。考虑不让B从A继承。
子类化的想法是专门化一个对象。特别是,一个类的子级应该是父类的有效实例:
>>> class foo(dict): pass
>>> isinstance(foo(), dict)
... True
如果实现此行为(例如使用x = property(lambda: AttributeError)
),则将破坏子类化概念,这是错误的。
Python:删除子类中的类属性
仔细考虑为什么要这样做;你可能不会。考虑不让B从A继承。
子类化的想法是专门化一个对象。特别是,一个类的子级应该是父类的有效实例:
>>> class foo(dict): pass
>>> isinstance(foo(), dict)
... True
如果实现此行为(例如使用x = property(lambda: AttributeError)
),则将破坏子类化概念,这是错误的。