Курс 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. Удаление дубликатов из списка
  2. Python: возвращение нескольких значений
  3. Классы данных в Python
  4. Возвращение нескольких значений
  5. Списковое включение в Python
  6. Проверка ввода с помощью isdigit
  7. Экспорт функций в Python
  8. Присоединение элементов коллекции
  9. Избегание циклических зависимостей классов в Python
  10. Регистрация на хакатоне
  11. Декораторы классов
  12. Область видимости переменных
  13. Отправка HTTP-запросов с User-Agent
  14. Комментарии в Python
  15. Установка и использование pyshorteners
  16. Поиск HTML-элементов с BeautifulSoup
  17. Управление пакетами с pip
  18. Создание таблиц в терминале с PrettyTable
  19. Дефолтные параметры в Python
  20. Функции высшего порядка в Python
  21. Форматирование данных с помощью pprint
  22. Объединение итераторов
  23. Вычисление разности множеств в Python
  24. Enum в Python: создание и использование перечислений
  25. Оптимизация параметров в Python
  26. Комментарии в Python.
  27. Работа со строками в Python
  28. Проверка версии Python
  29. Оператор деления для класса Rational
  30. Изменяемые и неизменяемые объекты
  31. Копирование объектов в Python
  32. Работа с кортежами в Python
  33. Множественное назначение в Python
  34. Документация функции help() в Python
  35. Магические методы в Python
  36. Python: изменяемые и неизменяемые коллекции
  37. Срезы в Python
  38. Сортировка списка по индексам
  39. Переопределение метода __lshift__
  40. Python Тесты и Гайды
  41. Функции классификации комплексных чисел
  42. Активация Matplotlib в Jupyter
  43. Фильтрация входных данных в Python
  44. Работа с временем в Python
  45. Defaultdict в Python
  46. Python: библиотеки и функции

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