class Tokidate(object): def settoki(self, value): print "Set!", value def gettoki(self): print "Get!" toki = property(gettoki, settoki) class BTClass(type(Tokidate)): def __setattr__(self, attr, value): if attr == 'toki': print "Set class" else: type(Tokidate).__setattr__(self, attr, value) Tokidate.__bases__ = (BTClass, object)