Курс 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. Работа с collections в Python
  2. Абстракции словарей и множеств в Python
  3. Функция findall() для поиска вхождений строки
  4. Работа с итераторами в Python
  5. Подсчет элементов в Python
  6. Работа с базами данных SQLite
  7. Генераторные выражения и islice.
  8. Поиск email
  9. Группировка элементов в словарь
  10. Удаление ресурса в Python
  11. Python 3.12: Псевдонимы типов
  12. Преобразование символов с помощью map
  13. Показ всплывающих окон Tkinter
  14. Установка Home Assistant
  15. Подписка на SelectelNews в Twitter
  16. Работа с множествами в Python
  17. Форматирование даты с strftime()
  18. Получение текущей даты и времени
  19. Тайное преобразование типа ключа
  20. Любовь к Python
  21. Отладка утечек памяти в Python
  22. Измерение времени выполнения
  23. Перезагрузка оператора в Python
  24. Аргумент по умолчанию
  25. Проверка типа данных
  26. Объединение словарей в Python
  27. Метод join() для объединения строк
  28. Загрузка постов Instagram
  29. Определение индекса элемента списка
  30. Docstring в Python
  31. Метод setitem в Python
  32. Проверка строки на палиндром
  33. Python enumerate() использование
  34. Удаление элемента по индексу в Python
  35. Транспонирование 2D-массива с помощью zip
  36. Преобразование PowerPoint в PDF.
  37. Делегирование в Python
  38. Создание таблиц в Python с PrettyTable
  39. Получение ID процесса
  40. Оператор деления для класса Rational
  41. Измерение времени выполнения кода с использованием time
  42. Логирование с Loguru
  43. Сравнение строк в Python
  44. Обработка ошибки IndexError
  45. Работа с комплексными числами в Python
  46. Howdoi — получение ответов из терминала

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