Курс 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. Фильтрация списков с itertools
  2. Метод matmul для умножения матриц
  3. Преобразование документов в PDF с помощью Spire.Office
  4. Подсчет частоты элементов с Counter
  5. Множества и frozenset
  6. Ограничение ресурсов в Python
  7. Метод join() с набором
  8. Выражения-генераторы в Python
  9. Печать месячного календаря
  10. Функция enumerate() — Python
  11. Метод join() для объединения строк
  12. Генераторы по генератору
  13. Округление чисел с помощью round
  14. Форматирование строк с f-строками
  15. Поиск файлов по шаблону
  16. Python: отсутствие точек с запятыми
  17. Преобразование числа в восьмеричную строку
  18. SciPy: широкий функционал для математических операций
  19. Управление контекстом выполнения кода
  20. Оператор объединения словарей
  21. Разработка Telegram-ботов
  22. Вывод баннеров
  23. Регулярные выражения: метод match
  24. Метод rename() для переименования файлов и каталогов
  25. Профилирование с cProfile
  26. Удаление дубликатов из списка с помощью dict.fromkeys
  27. Работа с аргументами командной строки
  28. Имена объектов в Python
  29. Форматирование строк с помощью f-строк
  30. Профилирование данных с Pandas
  31. Метод count() для списков
  32. Создание и операции с дробями
  33. Установка random seed в Python
  34. Многоточие в Python
  35. Создание namedtuple списком полей
  36. Замена символов в строке
  37. Модуль subprocess: запуск внешних команд
  38. Лямбда-функции в defaultdict
  39. Оболочка Python
  40. Аргумент по умолчанию
  41. Работа с географическими данными.
  42. Многострочные строки в Python
  43. Копирование списков в Python
  44. Операторы увеличения и уменьшения переменной
  45. Разделение строк в Python
  46. Функциональное программирование в Python

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