property превращает методы доступа в API, подобный атрибутам, с поддержкой проверки, вычислений или ленивой логики.
Пример
class User:
def __init__(self, name: str) -> None:
self._name = name
@property
def name(self) -> str:
return self._name
Разбор
Суммируя:
property обеспечивает контроль доступа без изменения внешнего синтаксиса.
- Он подходит для проверки и получения производных значений.
- Это позволяет API развиваться, не нарушая работу клиентов.
Итог
property превращает методы доступа в API, подобный атрибутам, с поддержкой проверки, вычислений или ленивой логики.