Курс Python → Декоратор Property в Python
Декоратор @property в Python используется для превращения метода класса в свойство, что позволяет обращаться к нему как к атрибуту объекта без вызова метода. Это удобно, когда необходимо скрыть сложную логику вычислений или обработки данных, делая интерфейс класса более интуитивно понятным.
Рассмотрим пример с классом Circle, который имеет атрибут radius и метод area, вычисляющий площадь окружности по заданному радиусу. После добавления декоратора @property к методу area, мы можем обращаться к нему как к свойству объекта circle, не вызывая его явно.
class Circle:
def __init__(self, radius):
self.radius = radius
@property
def area(self):
return 3.14159 * self.radius ** 2
circle = Circle(5)
print(circle.area) # Выводит площадь окружности с радиусом 5
В данном примере при обращении к атрибуту area объекта circle происходит автоматическое вычисление площади окружности, что делает код более читаемым и удобным для использования. Декоратор @property позволяет объединить функционал метода и атрибута в один логический блок, что упрощает взаимодействие с объектами.
Таким образом, использование декоратора @property в Python помогает сделать код более эффективным и понятным. Этот механизм позволяет инкапсулировать сложную логику работы с данными внутри класса, скрывая детали реализации и предоставляя простой интерфейс для взаимодействия с объектами.
Другие уроки курса "Python"
- Создание и обучение модели с Keras
- Генераторы в Python
- Тестирование времени с Freezegun
- Аннотации типов в Python
- Получение пути к текущему скрипту с помощью os
- Ускорение выполнения кода в Python
- Функция reduce() из модуля functools
- Класс-оболочка для словарей
- Оператор деления для класса Rational
- Отладка кода
- Декораторы в Python
- Создание инструмента обнаружения плагиата
- Аннотации типов в Python
- Создание лямбда-функций
- OrderedDict — упорядоченный словарь
- Изучение объектов с помощью dir()
- Работа с модулем Calendar
- Модуль itertools: эффективная работа с итераторами
- Аргументы *args и **kwargs
- Функция count() в Python
- Многоточие в Python
- Сортировка HTML-элементов
- Основы работы со строками в Python
- Преобразование регистра символов
- Работа с YAML в Python: PyYAML.
- Операции со строками в Python
- Проверка типа данных
- Python enumerate() функции
- Форматирование данных с pprint
- Повторение и перенос строки
- Магические методы в Python
- Изменение регистра данных
- Проверка окончания строки с помощью str.endswith()
- Цикл for в Python
- Метод count() для списка
- Транспонирование матрицы
- Преобразование типов данных в set comprehension
- Работа с очередями в Python
- Переворот списка в Python
- Декоратор total_ordering для класса Point
- Работа с CSV файлами в Python
- %pinfo: получение информации об объекте
- Оператор объединения словарей
- Потоковый ввод в Python















