
![]() | Python 2.3 introduced ``intelligent'' assignment operators, known as properties |
![]() | That is, assignment may imply a function call:
x.data = mydata; yourdata = x.data # can be made equivalent to x.set_data(mydata); yourdata = x.get_data() |
![]() | Construction:
class MyClass(object): # new-style class required!
...
def set_data(self, d):
self._data = d
<update other data structures if necessary...>
def get_data(self):
<perform actions if necessary...>
return self._data
data = property(fget=get_data, fset=set_data)
|