Python. Функция property()

Перевод статьи Python | property() function.

Функция property() создаёт новое свойство. Свойство — это атрибут класса с которым связаны функции чтения и записи.

Параметры:

  • fget() – используется для получения значения атрибута
  • fset() – используется для установки значения атрибута
  • fdel() – используется для удаления атрибута
  • doc() – строка с документацией (docstring) для атрибута

Функция property() возвращает свойство с данными геттером, сеттером и deleter.

Вызванная без аргументов функция property() возвращает свойство без геттера, сеттера и deleter.

Если не задан doc то property() берёт docstring из геттера.

Декоратор

При использовании декоратора сперва укажите что метод value() является свойством класса Alphabet, затем используя имя свойства (value) задайте сеттер, геттер и deleter. Результат работы декоратора @property аналогичен функции property():

Декораторы часто применяются чтобы добавить новые функции в уже существующий код. Это называется метапрограммирование: одна часть программы изменяют другую часть программы во время компиляции. Функцию property() (и декоратор) позволяет изменить наш класс (например, добавить ограничения значений свойства) без необходимости менять код использующий наш класс.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *