def doublable(cls):
def double(self):
return self*2
double = property(double)
cls.double = double
return cls
@doublable
class C(int): pass
c = C(4)
print(c.double)
ZGVmIGRvdWJsYWJsZShjbHMpOgoJZGVmIGRvdWJsZShzZWxmKToKCQlyZXR1cm4gc2VsZioyCglkb3VibGUgPSBwcm9wZXJ0eShkb3VibGUpCgljbHMuZG91YmxlID0gZG91YmxlCglyZXR1cm4gY2xzCgkKQGRvdWJsYWJsZQpjbGFzcyBDKGludCk6IHBhc3MKCmMgPSBDKDQpCnByaW50KGMuZG91YmxlKQoKCQ==