Курс 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. Работа с кортежами в Python
  3. Сортировка HTML по CSS-селектору
  4. Преобразование числа в восьмеричную строку
  5. Использование эмодзи в Python
  6. Метод splitlines() для разделения строк
  7. Объединение Python и Shell
  8. Метаклассы в Python
  9. Вычисление фазы комплексного числа
  10. Строковое представление объектов
  11. Основные методы NumPy
  12. Динамические маршруты во Flask
  13. Добавление элементов в список
  14. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  15. Лямбда-функции в Python
  16. Структурирование именованных констант
  17. Объединение списков с помощью zip
  18. Транспонирование матрицы
  19. Оператор space-invader
  20. Работа с defaultdictами в Python
  21. Частичное применение функций в Python
  22. Получение значений из словарей
  23. Компиляция регулярных выражений
  24. Явный импорт переменных
  25. Библиотека Emoji: использование смайлов в Python
  26. Преобразование регистра символов
  27. Преобразование документов в PDF с помощью Spire.Office
  28. Запуск Python из интерпретатора
  29. OrderedDict — упорядоченный словарь
  30. Использование super() в Python
  31. Генераторы в Python
  32. Обработка ошибок ввода данных
  33. Работа с файлами в Python
  34. Изменение элемента списка
  35. Слияние словарей в Python 3.9
  36. Комплексные числа в Python
  37. Работа с модулем os в Python
  38. Операции с кортежами
  39. Установка виртуального окружения Python
  40. Работа с модулем Calendar
  41. Разность множеств
  42. Подписка на SelectelNews в Twitter
  43. Отладка в командной строке

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