Курс 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. Работа с пользовательским вводом
  3. Нан-рефлексивность в Python
  4. Метод __ilshift__ для битового сдвига влево
  5. Операции с матрицами в Python
  6. Python Метод sleep() из time
  7. Работа с процессами в Python
  8. Работа со строками
  9. Сортировка данных в Python
  10. Поиск элементов BeautifulSoup
  11. Создание таблиц в терминале с PrettyTable
  12. Удаление эмодзи с помощью pandas
  13. Хеши в Python
  14. Отправка поздравлений по дню рождения
  15. Удаление и повторная вставка ключа в OrderedDict
  16. Импорт и использование модулей в Python
  17. Асинхронное выполнение задач в процессах
  18. Преобразование чисел в слова
  19. Генерация QR-кодов с библиотекой qrcode
  20. Оператор «моржа» (Walrus Operator)
  21. Получение размера объекта с sys.getsizeof()
  22. Вставка переменных в шаблоны Flask
  23. Counter() — подсчет элементов
  24. Операции с массивами в NumPy
  25. Обработка исключений в Python 3
  26. Функция reversed() в Python
  27. Получение списка кортежей из словаря
  28. Вывод баннеров
  29. Подсчет элементов с помощью Counter из collections
  30. Манипуляция формой массива в Numpy
  31. Библиотека Chartify: руководство
  32. Объединение списков с использованием itertools.chain
  33. Основные операции с Numpy
  34. Метод setdefault() в Python
  35. Пропуск начальных строк с помощью dropwhile()
  36. Измерение времени выполнения кода
  37. Метод join() для объединения строк
  38. Работа с файлами в Python
  39. Разделение строк в Python
  40. Изменение IP-адреса в Python
  41. Декораторы в Python
  42. Работа с CSV файлами
  43. Перебор элементов списка в Python
  44. Значения по умолчанию в Python
  45. Объединение словарей в Python
  46. Экспорт данных с помощью writefile
  47. Метод join() для объединения строк

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