Курс 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 groupby() из itertools: работа с повторяющимися элементами
  2. Функция findall() для поиска вхождений строки
  3. Округление дробей в Python
  4. Namedtuple в Python
  5. Округление банкира в Python
  6. Модуль os: работа с файлами и папками
  7. Преобразование многоуровневого словаря
  8. Создание итератора
  9. Конвертация изображений в PDF
  10. Работа с асинхронными задачами в Python
  11. Оператор continue в Python
  12. Инициализация структур данных
  13. Метод __irshift__ для Python
  14. Метод repr() в Python
  15. Создание словарей с defaultdict
  16. Удаление дубликатов в pandas
  17. Объединение словарей в Python
  18. Непрерывная проверка в Python
  19. Работа с *args и **kwargs в Python
  20. Генерация случайных чисел Python
  21. Методы classmethod и staticmethod
  22. Управление фоновыми задачами в Python
  23. Основы работы с базами данных в Python
  24. Отправка поздравлений по дню рождения
  25. Установка и использование библиотеки google
  26. Запуск внешнего кода в Jupyter
  27. Обработка элементов в Python
  28. Обмен значений переменных в Python
  29. Участие в LP стейкинге Waves
  30. Преобразование списка в словарь через генератор
  31. Проблема с изменяемыми аргументами
  32. Параллельные вычисления в Python
  33. Magic Commands — улучшение работы с Python
  34. Основы работы с os
  35. Добавление элемента к кортежу
  36. Метод join для наборов
  37. Простой калькулятор Python
  38. Работа с файлами в Python
  39. Модуль math: константы π и e
  40. Проверка типа данных
  41. Удаление символов новой строки в Python.
  42. Удаление элементов из списка

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