#!/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.a = MethodType(a, self) self.a = property(self.a) """ @property def a(self): print('C.a') return self._a""" def a(self): return self._a print(C().a())