Курс 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. Лямбда-функции в Python
  2. Работа с комплексными числами
  3. split() без разделителя
  4. Открытие, чтение и закрытие файла
  5. Подсказки типов в Python
  6. Библиотека wikipedia для Python
  7. Установка и использование библиотеки google
  8. Названия столбцов в Python таблицах
  9. Проверка однородности элементов списка
  10. Очистка входных данных
  11. Выражения-генераторы в Python
  12. Работа с getopt
  13. Распаковка элементов последовательности
  14. Переворот строки с использованием цикла
  15. Группировка элементов в словарь
  16. Фильтрация элементов с помощью islice
  17. Оператор * в Python
  18. Форматирование объектов с модулем pprint
  19. Оптимизация памяти с помощью __slots__
  20. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  21. Оператор «is not» в Python
  22. Подписка на каналы разработчиков
  23. Импорт модулей и пакетов в Python
  24. Создание новой даты в Python
  25. Кортежи в Python: особенности и преимущества
  26. Форматирование строк с f-строками
  27. Блок else в циклах.
  28. Форматирование чисел в Python
  29. Подробная информация о %pinfo
  30. Передача неизвестных аргументов в Python.
  31. Библиотека Rich: форматирование текста
  32. Профилирование кода
  33. Декораторы в Python
  34. Модуль xkcd: загрузка комиксов
  35. kwargs в Python
  36. Работа со строками в Python
  37. Создание веб-приложения с Flask
  38. Обработка исключения UnboundLocalError
  39. Реализация метода __abs__ в Python
  40. Курс Data Scientist в медицине
  41. Декораторы в Python
  42. Типы возвращаемых значений в Python
  43. Декораторы в Python
  44. Метод __iand__ для пользовательских классов
  45. Потоковый ввод в Python
  46. Функция count() в Python
  47. Блок else в Python

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