Курс 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. Поиск с библиотекой Google
  2. Генераторы по генератору
  3. Получение списка файлов в директории с использованием os
  4. Python enumerate() для работы с индексами
  5. Декораторы с @wraps
  6. Лямбда-функции в Python
  7. Поиск HTML-элементов с BeautifulSoup
  8. Применение промокода в Много лосося
  9. Оптимизация методов в Python 3.7
  10. Python-dateutil — работа с датами
  11. Генерация случайных данных в NumPy
  12. Группировка элементов в словарь
  13. Использование функции enumerate()
  14. Генерация тестовых данных с factory_boy
  15. Python 3.12: Псевдонимы типов
  16. Определение имен функций
  17. Игра «Угадывание чисел»
  18. Работа с PosixPath() в Python
  19. Оператор in для Python
  20. Оценка точности модели
  21. Метод get() в Python
  22. Вывод баннеров
  23. Особенности запятых в Python
  24. Открытие и редактирование скриптов Python
  25. Декораторы в Python
  26. Нахождение максимального значения и его индекса в списке
  27. Запуск асинхронной корутины
  28. Генераторы в Python
  29. Профилирование данных с Pandas.
  30. Псевдонимы в Python
  31. Группы исключений в Python
  32. Создание и операции с дробями
  33. Работа с zip()
  34. Настройка Cron
  35. Оператор is в Python
  36. Работа с датами в Python
  37. Поиск наиболее частого элемента списке
  38. Работа с модулем random
  39. inspect в Python: анализ кода
  40. Создание спинбокса в tkinter
  41. Генераторы данных
  42. Принципы Zen Python
  43. Хранение переменных в словаре.
  44. Python itertools combinations() — группировка элементов
  45. Получение списка кортежей из словаря
  46. Работа с итераторами в Python
  47. Работа с изображениями Pillow
  48. Выражения-генераторы в Python
  49. Применение команды break

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