python inheritance remove an attribute
Think carefully about why you want to do this; you probably don't. Consider not making B inherit from A. The idea of subclassing is to specialise an object. In particular, children of a class should be valid instances of the parent class: >>> class foo(dict): pass >>> isinstance(foo(), dict) ... True If you implement this behaviour (with e.g. x = property(lambda: AttributeError)), you are breaking the subclassing concept, and this is Bad.