class A(): def __init__(self): self.x = 10 def foo(self): print(self.x) class B(A,object): def foo(self): super(B, self).foo() self.x = 50 super(B, self).foo() B().foo() class C(A): def foo(self): A.foo(self) self.x = 50 A.foo(self) C().foo()