Курс 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. Проверка ввода с помощью isdigit
  2. Объединение словарей в Python
  3. Проверка переменных окружения в Python
  4. kwargs в Python
  5. Создание .exe файла с pyinstaller
  6. Добавление цвета в консоли
  7. Генераторы словарей и множеств
  8. Регулярные выражения в Python
  9. Атрибуты класса и экземпляра
  10. JSON в Python: модуль, dump, dumps, load
  11. Преобразование range в итератор
  12. Обход словаря в Python
  13. Python Аргументы по умолчанию
  14. Просмотр внешних файлов в %pycat
  15. Создание класса в Python
  16. Работа с YAML в Python
  17. Поиск подстроки в строке
  18. Управление сессиями в Python
  19. Строковое представление объектов
  20. Шаблоны и наследование в Flask
  21. Переопределение метода __and__
  22. Блок try-except-else
  23. Поиск частого элемента
  24. Основы работы с os
  25. Многопоточность в Python
  26. Лямбда-функции в Python
  27. Оформление кода на Python
  28. Раздувающийся словарь в Python
  29. Основы Python за 14 дней
  30. Создание циклической ссылки
  31. Лямбда-функции в Python
  32. Курсы Яндекс Практикум
  33. Группы исключений в Python
  34. Извлечение новостей с помощью newspaper3k
  35. Декораторы в Python
  36. Создание графиков в терминале
  37. Python groupby() из itertools: работа с повторяющимися элементами
  38. Перемешивание списка с shuffle()
  39. Подсчет элементов с помощью Counter из collections
  40. Работа с deque из collections
  41. Атрибуты объекта в Python
  42. Удаление falsy-значений из списка с помощью filter
  43. Преобразование данных в Python
  44. Получение текущей директории

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