Удаление свойства в ООП в Python
Иногда нужно не только читать и записывать
свойство, но и удалять его у объекта.
В Python для этого у свойства делают
метод с декоратором name.deleter,
а снаружи вызывают команду del.
Пусть у класса User есть свойство
name с чтением и записью.
Добавим к нему удаление:
class User:
def __init__(self):
self.__name = None
@property
def name(self):
return self.__name
@name.setter
def name(self, name):
self.__name = name
@name.deleter
def name(self):
del self.__name
Создадим объект, зададим имя и удалим свойство:
user = User()
user.name = 'john'
del user.name
Повторное чтение свойства после удаления приведет к ошибке:
print(user.name) # ошибка
Сделайте класс Employee со свойством
зарплаты. Сделайте так, чтобы зарплату
можно было удалить.