Курс 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. Dict Comprehension в Python
  2. Декоратор total_ordering для сравнения объектов
  3. F-строки в Python 3.8
  4. Декораторы в Python
  5. Транспонирование 2D-массива с помощью zip
  6. Метод setdefault() в Python
  7. Метод getitem для доступа к элементам последовательности
  8. Импорт модуля из другого каталога
  9. Mad Libs Generator
  10. Преобразование символов в нижний регистр
  11. Статическая типизация в Python
  12. Открытие и запись файлов
  13. Отладка производительности Python
  14. Обработка ошибок ввода данных
  15. Метод join() для объединения элементов строки
  16. Обратное распространение ошибки
  17. Функция zip() для объединения списков
  18. Установка и использование howdoi
  19. Проверка версии Python
  20. Экспорт функций в Python
  21. Глобальные переменные в Python
  22. Именованные кортежи в Python
  23. Сглаживание списка
  24. Метод bool() в Python
  25. Работа с кортежами в Python
  26. %pinfo: получение информации об объекте
  27. Работа с getopt
  28. Функции range() в Python
  29. Основы Python
  30. Вывод переменной и строки в Python
  31. Итераторы в Python
  32. Многопоточность и асинхронное программирование в Python
  33. Пропуск строк в файле с itertools
  34. Поиск индекса элемента
  35. Подсчет частотности элементов в Python
  36. Поиск наиболее частого элемента списке
  37. Удаление элемента по индексу
  38. Работа с атрибутом dict
  39. Хэш-функции и метод цепочек
  40. Математические функции в Python
  41. Объединение строк с помощью метода join
  42. Обработка данных в Python
  43. Функциональное программирование.
  44. Переворот списка в Python
  45. Работа с модулем bisect
  46. Разработка игры Pong с turtle
  47. Настройка вывода NumPy

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