Week 5 Properties¶
The three forms
Properties: What and Why?¶
1. Wrapper functions that controll access (get,set,delete) to an attribute.
2. Provides encapsulation
Properties First Form¶
Using decorators
class Form1( object ):
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name
@name.setter
def name(self,value):
self._name = value
@name.deleter
def name(self):
del self._name
Properties Second Form¶
Using __builtins__.property
class Form2( object ):
def __init__(self,name):
self._name = name
def get_name(self):
return self._name
def set_name(self,value):
self._name = value
def del_name(self):
del self._name
# NOTE where this is bound
name = property( get_name, set_name, del_name )