Как декоратор `@property` позволяет тебе инкапсулировать логику getter'а, сохраняя при этом интерфейс, похожий на обращение к атрибуту в Python? — ДейлиПреп