/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson12/4-Property/task_prop_2.py
24 строки
1 KB
Ivan-Khabarov
Добавлено ДЗ
01 окт 2024, 19:24
01 окт 2024, 19:24
3f16c8f
Код
Авторство
О чём код?
# ● Getter # Декоратор property позволяет создавать “геттеры”. Это методы, которые выдают # себя за свойства, позволяют прочитать результат, но блокируют возможность # записи. Рассмотрим другой пример “геттера”. class User: def __init__(self, first_name, last_name): self.first_name = first_name self.last_name = last_name @property def full_name(self): return f'{self.first_name} {self.last_name}' user = User('Стивен', 'Спилберг') print(f'{user.first_name = }\n{user.last_name = }\n{user.full_name = }') user.full_name = 'Стивен Хокинг' user.last_name = 'Хокинг' print(f'{user.first_name = }\n{user.last_name = }\n{user.full_name = }') # Теперь у пользователя есть два публичных свойства для имени и фамилии. Кроме # того есть свойство (а не метод) для вывода полного имени, т.е. с фамилией. Все три # свойства работают на чтение. А вот перезаписать полное имя мы не можем. Зато # ничего не мешает изменить фамилию и получить обновлённое полное имя.