#!/usr/local/bin/python3 from types import MethodType class B(object): def __init__(self): print('B.__init__') #self._a = 0 self.b = 0 class C(B): def __init__(self): print('C.__init__') self._a = 1 super().__init__() self.__class__.a = property(a) """ @property def a(self): print('C.a') return self._a""" def a(self): return self._a print(C.a) print(C().a) print(C.a) C().a = 1