Курс 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. Работа с контекст-менеджером «with»
  2. Новшества Flask 2.0
  3. Python: библиотеки и функции
  4. Динамические маршруты во Flask
  5. Управление доступом к модулю
  6. Lambda Functions in Python
  7. List Comprehension Tutorial
  8. Операторы увеличения и уменьшения переменной
  9. Генерация случайных чисел в Python
  10. Генераторы в Python
  11. Метод сравнения объектов в Python
  12. Блок try-except-else
  13. Обход элементов в Python
  14. Декоратор Ajax required
  15. Управление User-Agent в Python
  16. Создание панели меню Tkinter
  17. F-строки в Python 3.8
  18. Работа с срезами в Numpy
  19. Перемещение и удаление файлов в Python
  20. Декоратор total_ordering для класса Point
  21. Работа со строками в Python
  22. Поиск повторов в списке
  23. Работа с комплексными числами в Python
  24. Библиотека itertools: объединение списков
  25. Генерация тестовых данных с factory_boy
  26. Генерация чисел с range()
  27. Переменные в Python: сокращение гласных
  28. Метод get() в Python
  29. Генерация случайных чисел в Python
  30. Библиотека sh: удобные команды терминала
  31. Атрибуты массивов в Numpy
  32. Отображение графиков в Jupyter с Matplotlib
  33. None в Python: использование и особенности
  34. PrettyTable: создание таблицы
  35. Цикл while в Python
  36. Освоение Python
  37. Метод Event.wait() в Python
  38. Метод join() для объединения строк
  39. Регулярные выражения: метод match
  40. Инверсия списка/строки в Python
  41. Создание инструмента обнаружения плагиата
  42. Профилирование с cProfile
  43. Декораторы в Python
  44. Создание генераторов
  45. Замена текста с re.sub()
  46. Компиляция регулярных выражений
  47. enumerate() в Python для работы с индексами
  48. Инициализация объекта
  49. Работа с Path в Python

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