Курс 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. Создание класса очереди
  2. Освоение Python
  3. Основы Python за 14 дней
  4. Типы возвращаемых значений в Python
  5. Генерация QR-кодов с библиотекой qrcode
  6. Оператор Walrus в Python 3.8
  7. Логирование с Logzero
  8. Присвоение значений переменным в Python
  9. Основные операции с библиотекой Numpy
  10. Метод eq для сравнения объектов
  11. Создание словаря через dict comprehension
  12. Создание namedtuple списком полей
  13. Метод __iand__ для пользовательских классов
  14. Структуры данных в Python
  15. Удаление файлов в Python
  16. Отправка POST-запроса в REST API
  17. Проверка вхождения подстроки
  18. Создание инструмента обнаружения плагиата
  19. Обработка элементов в Python
  20. Логирование с Logzero
  21. Транспонирование 2D-массива с помощью zip
  22. Динамические маршруты во Flask
  23. Установка и использование howdoi
  24. Синхронизация доступа к ресурсам
  25. Передача аргументов в Python
  26. Лямбда-функции в цикле
  27. Новшества Flask 2.0
  28. Создание и инициализация объектов
  29. Метод title() в Python
  30. Применение функции к каждому элементу списка
  31. Создание GUI на Tkinter
  32. Назначение максимального и минимального значения переменной в Python.
  33. Атрибуты класса и экземпляра
  34. Создание виртуальной среды
  35. Декораторы с @wraps
  36. Создание циклической ссылки
  37. Работа с collections в Python.
  38. Функция divmod() в Python
  39. Открытие и запись файлов
  40. Работа с WindowsPath()
  41. Передача словаря через **kwargs
  42. Асинхронный код в Python
  43. Переворот списка в Python
  44. Встроенные функции Python
  45. Метод Self в Python
  46. Удаление дубликатов из списка с помощью dict.fromkeys

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