Курс 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. PATCH-запрос с библиотекой requests
  3. Изучение объектов с помощью dir()
  4. Именование столбцов в Python с pandas
  5. Создание списков в Python
  6. Работа с часовыми поясами в Python
  7. Извлечение аудио из видео
  8. Python Enumerate
  9. Преобразование текста в нижний регистр
  10. Управление браузером с Selenium
  11. Множественное присваивание в Python
  12. Декодирование строк в Python
  13. Метод matmul для умножения матриц
  14. Сложные типы данных в Python
  15. Активация Matplotlib в Jupyter
  16. Удаление специальных символов с помощью re.sub
  17. Подписка на @SelectelNews
  18. Функция format() в Python
  19. F-строки в Python
  20. Метод rrshift для пользовательских объектов
  21. Разделение строк в Python
  22. Итераторы в Python
  23. Оптимизация сравнения в Python
  24. Списковое включение в Python
  25. Установка и использование Telegram API в Python
  26. Оператор объединения словарей
  27. Считывание бинарного файла в Python
  28. Добавление элемента к кортежу
  29. Метод __irshift__ для Python
  30. enumerate() в Python для работы с индексами
  31. Равенство и идентичность в Python
  32. TON Smart Challenge #2: участие и подготовка
  33. Получение срезов итераторов
  34. Конвертация текстовых чисел с помощью Numerizer
  35. Хеширование паролей с использованием salt
  36. Повторение элементов в Python
  37. Асинхронное программирование с asyncio
  38. Игра Виселица на Python
  39. Обратное распространение ошибки
  40. Правила именования переменных
  41. Работа с Telegram API на Python
  42. Обход элементов в Python
  43. Оператор «not» в Python
  44. Создание и операции с дробями
  45. Списки в Python
  46. Переменная с нижним подчеркиванием

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