Курс 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. Параллельные вычисления в Python
  4. Счетчик ссылок в Python
  5. Функция product() из itertools
  6. Регулярные выражения в Python
  7. Создание новых списков
  8. Функции any() и all() в Python
  9. Работа с прокси в Python
  10. Оператор Walrus: правильное использование
  11. Python: Splat-оператор и splatty-splat
  12. Получение атрибутов и методов класса
  13. Инициализация объекта
  14. Метод join() для объединения строк
  15. Работа с NumPy
  16. Метод get для словарей
  17. Импорт модулей в Python 3.12
  18. Разделение строк в Python
  19. Перегрузка операторов в Python
  20. Генерация UUID в Python
  21. Настройка логгера Logzero
  22. Работа с утверждениями в Python
  23. Codecademy в Telegram
  24. Фильтрация списка от «ложных» значений
  25. Принципы SRP и OCP
  26. Генераторы в Python
  27. Отображение графиков в Jupyter с Matplotlib
  28. Создание файла с проверкой ошибки
  29. Назначение максимального и минимального значения переменной в Python.
  30. Добавление элемента в список.
  31. Обмен значений переменных в Python
  32. Управление контекстом выполнения
  33. Обмен переменными в Jupyter
  34. Работа со строками в Python.
  35. Стать Python-разработчиком
  36. Python Метод del.
  37. Создание словарей с defaultdict()
  38. Определение наиболее частого элемента с помощью collections.Counter
  39. Создание вложенного генератора
  40. F-строки в Python
  41. Python Метод sleep() времени
  42. Установка пакета в Python
  43. Обмен данными с asyncio.Queue
  44. Оператор += в Python
  45. Функциональное программирование в Python
  46. Распаковка элементов последовательности
  47. Метод rrshift для пользовательских объектов
  48. Обработка аргументов Python
  49. Отделение звука от видео

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