Курс 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. Объединение списков в Python
  2. Работа с дробями в Python
  3. Решатель судоку на Python с pygame
  4. Операторы Splat и splatty-splat
  5. Построение графиков в Matplotlib
  6. Множественное присваивание в Python
  7. Метод clear для коллекций
  8. Генераторы в Python
  9. Оптимизация параметров в Python
  10. Python Translator: создание локальных переводчиков
  11. Сохранение Unicode в JSON
  12. Python: динамическая типизация и проверка типов
  13. Обработка данных в Python
  14. Атрибуты объекта в Python
  15. Python reversed() функция
  16. Атрибуты класса и экземпляра
  17. Defaultdict в Python
  18. Модуль xkcd: добавление юмора в Python
  19. Работа с WindowsPath()
  20. Измерение времени выполнения кода
  21. Новшества Flask 2.0
  22. Список и кортеж в Python
  23. Списки в Python: синтаксис представления
  24. Создание итератора
  25. Профилирование данных с Pandas
  26. Метод init в Python
  27. Объединение словарей в Python
  28. Генератор чисел Фибоначчи
  29. Создание лямбда-функций
  30. Счетчик ссылок в Python
  31. Методы сравнения множеств
  32. Вычисление разности множеств в Python
  33. Безопасный доступ к значениям словаря
  34. Определение объема памяти объекта
  35. Работа с комплексными числами
  36. Создание детектора плагиата
  37. Работа с Requests для HTTP-запросов
  38. Списки в Python: основы
  39. Изменение переменной в Python: nonlocal
  40. Методы работы со списками
  41. Проверка кортежей.
  42. Оператор walrus в Python

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