Getter Setter Deleter
Property Decorator
1. Getter
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius
c = Circle(5)
print(c.radius) # 5
2. Setter
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("Negative radius")
self._radius = value
c = Circle(5)
c.radius = 10 # OK
3. Deleter
@radius.deleter
def radius(self):
del self._radius
Summary
- @property for getter
- @prop.setter for setter
- @prop.deleter for deleter
- Clean interface