Курс 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"

  1. Логирование с Loguru
  2. Запуск внешних программ с subprocess
  3. Вычисление натурального логарифма в NumPy
  4. Модуль xkcd: добавление юмора в Python
  5. Бесконечная проверка в Python
  6. Транспонирование 2D-массива с помощью zip
  7. SciPy: широкий функционал для математических операций
  8. Работа с модулем Calendar
  9. Создание класса очереди
  10. Удаление дубликатов с помощью множеств
  11. Оператор морж в Python 3.8
  12. Извлечение аудио из видео
  13. Управление мышью и клавиатурой с Pyautogui
  14. Оператор is в Python
  15. Обработка ошибок в Python
  16. Генерация случайных чисел в Python
  17. Поиск подстроки в строке
  18. Модуль inspect
  19. Python Метод del.
  20. Работа с комбинациями в Python.
  21. Сравнение объектов в Python
  22. Генераторы списков
  23. Копирование в Python
  24. Функция count() в Python
  25. Измерение времени выполнения в Python
  26. Работа с *args и **kwargs в Python
  27. Логические операторы в Python
  28. Поиск частых элементов в списке
  29. Списковые включения в Python
  30. Переменные в Python
  31. Удаление и повторная вставка ключа в OrderedDict
  32. Класс Counter() для подсчета элементов
  33. Курсы Яндекс Практикум
  34. Работа с датами в Python
  35. Метод __float__ в Python
  36. Операторы сравнения в Python
  37. Работа с файлами в Python
  38. Создание копии итератора
  39. Проверка ввода с помощью isdigit
  40. Проверка существования переменной с оператором :=
  41. Декораторы в Python
  42. Обучение модели с указанием эпох
  43. Метод splitlines() для разделения строк
  44. Метод join() с набором
  45. Функции-генераторы в Python
  46. Python: библиотеки и функции

Marketello читают маркетологи из крутых компаний