class Bar:
def __init__(self, foo_):
self.foo_dict = {}
self.foo = foo_
@property
def foo(self):
return self.foo_dict["foo_key"]
@foo.setter
def foo(self, value):
self.foo_dict["foo_key"] = value
def show(self):
print("foo={} ; foo_dict['foo_key']={}".format(
self.foo, self.foo_dict["foo_key"]))
b = Bar(1)
b.show()
b.foo = 2
b.show()
b.foo_dict["foo_key"] = 3
b.show()
Y2xhc3MgQmFyOgoJZGVmIF9faW5pdF9fKHNlbGYsIGZvb18pOgoJCXNlbGYuZm9vX2RpY3QgPSB7fQoJCXNlbGYuZm9vID0gZm9vXwoJCQoJQHByb3BlcnR5CglkZWYgZm9vKHNlbGYpOgoJCXJldHVybiBzZWxmLmZvb19kaWN0WyJmb29fa2V5Il0KCQkKCUBmb28uc2V0dGVyCglkZWYgZm9vKHNlbGYsIHZhbHVlKToKCQlzZWxmLmZvb19kaWN0WyJmb29fa2V5Il0gPSB2YWx1ZQoJCQoJZGVmIHNob3coc2VsZik6CgkJcHJpbnQoImZvbz17fSA7IGZvb19kaWN0Wydmb29fa2V5J109e30iLmZvcm1hdCgKCQkJCQkJc2VsZi5mb28sIHNlbGYuZm9vX2RpY3RbImZvb19rZXkiXSkpCgkJCmIgPSBCYXIoMSkKYi5zaG93KCkKYi5mb28gPSAyCmIuc2hvdygpCmIuZm9vX2RpY3RbImZvb19rZXkiXSA9IDMKYi5zaG93KCk=