Python @property decorator not working
Could anyone find a problem with this @property decorator? I cannot seem to get it to assert correctly. I'm sure I'm doing some really simple thing wrong, but can anyone point my tired eyes in the right direction please? class A: def __init__(self): self.a = 0 self._b = 0 @property def b(self): return self.b @b.getter def b(self): if self._b is None: return 0 return self._b @b.setter def b(self, val): self._b = (val * 20) def test_getter_setter(): obj = A() obj.a = 1 #obj.b = 2 print obj.a, obj.b obj.b = 2 print obj.a, obj.b assert obj.b == 40 test_getter_setter() The @property decorator only