Курс 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. Создание и обучение модели с Keras
  2. Генераторы в Python
  3. Тестирование времени с Freezegun
  4. Аннотации типов в Python
  5. Получение пути к текущему скрипту с помощью os
  6. Ускорение выполнения кода в Python
  7. Функция reduce() из модуля functools
  8. Класс-оболочка для словарей
  9. Оператор деления для класса Rational
  10. Отладка кода
  11. Декораторы в Python
  12. Создание инструмента обнаружения плагиата
  13. Аннотации типов в Python
  14. Создание лямбда-функций
  15. OrderedDict — упорядоченный словарь
  16. Изучение объектов с помощью dir()
  17. Работа с модулем Calendar
  18. Модуль itertools: эффективная работа с итераторами
  19. Аргументы *args и **kwargs
  20. Функция count() в Python
  21. Многоточие в Python
  22. Сортировка HTML-элементов
  23. Основы работы со строками в Python
  24. Преобразование регистра символов
  25. Работа с YAML в Python: PyYAML.
  26. Операции со строками в Python
  27. Проверка типа данных
  28. Python enumerate() функции
  29. Форматирование данных с pprint
  30. Повторение и перенос строки
  31. Магические методы в Python
  32. Изменение регистра данных
  33. Проверка окончания строки с помощью str.endswith()
  34. Цикл for в Python
  35. Метод count() для списка
  36. Транспонирование матрицы
  37. Преобразование типов данных в set comprehension
  38. Работа с очередями в Python
  39. Переворот списка в Python
  40. Декоратор total_ordering для класса Point
  41. Работа с CSV файлами в Python
  42. %pinfo: получение информации об объекте
  43. Оператор объединения словарей
  44. Потоковый ввод в Python

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