class Foo:
def __init__(self, a):
self._a = a
@property
def b(self):
self._a += 1
return self._a
A = Foo(1)
# outputs 2 to 201
for i in range(200):
print(A.b)
A = Foo(1)
B = A.b
# outputs 2 over and over
for i in range(200):
print(B)
Y2xhc3MgRm9vOgoJZGVmIF9faW5pdF9fKHNlbGYsIGEpOgoJCXNlbGYuX2EgPSBhCgkJCglAcHJvcGVydHkKCWRlZiBiKHNlbGYpOgoJCXNlbGYuX2EgKz0gMQoJCXJldHVybiBzZWxmLl9hCgkJCkEgPSBGb28oMSkKIyBvdXRwdXRzIDIgdG8gMjAxCmZvciBpIGluIHJhbmdlKDIwMCk6CglwcmludChBLmIpCgkKQSA9IEZvbygxKQpCID0gQS5iCgojIG91dHB1dHMgMiBvdmVyIGFuZCBvdmVyCmZvciBpIGluIHJhbmdlKDIwMCk6CglwcmludChCKQo=