020 Property Decorators Lecture
020 Property Decorators Lecture
x = property(fget=get_x, fset=set_x)
The class defines methods (getter, setter, deleter) that can take a callable as an argument
and returns the instance with the appropriate method now set
x = x.getter(get_x)
x = x.setter(set_x)
or
x = property(get_x)
x = x.setter(set_x)
language = property(language)
def MyClass:
def __init__(self, language):
self._language = language
@property
def language(self):
return self._language
Next, we may want to define a setter method as well ©2019 MathByte Academy
def MyClass:
def __init__(self, language):
self._language = language
@property
def language(self):
return self._language
at this point language is now a property instance
language = language.setter(set_language)
@language.setter
def language(self, value):
self._language = value
©2019 MathByte Academy
If you find this a bit confusing, think of doing it this way first:
def MyClass:
def __init__(self, language):
self._language = language
def language(self, value): assign the setter method to the property object
self._language = value (setter returns the property object itself)
language = lang_prop.setter(language)
def MyClass:
def __init__(self, language): function name defines the property instance name (symbol)
self._language = language
@property
def language(self):
return self._language language is now a property instance (an object)