property(fget=None, fset=None, fdel=None, doc=None)
Функция property()
возвращает атрибут свойства.
Параметры
Функция property()
принимает четыре необязательных параметра:
fget
(необязательно) — функция для получения значения атрибута. По умолчанию None.fset
(необязательный) — функция установки значения атрибута. По умолчанию None.fdel
(необязательно) — функция удаления значения атрибута. По умолчанию None.doc
(необязательно) — строка, содержащая документацию (docstring
) для атрибута. По умолчаниюNone
.
Возвращаемое значение
Функция property()
возвращает атрибут свойства из заданных методов получения, установки и удаления.
- Если аргументы не указаны, свойство () возвращает базовый атрибут свойства, который не содержит никаких методов получения, установки или удаления.
- Если
doc
не указан,property()
берет строку документации функции-получателя.
Примеры
class Person: def __init__(self, name): self._name = name def get_name(self): print('Getting name') return self._name def set_name(self, value): print('Setting name to ' + value) self._name = value def del_name(self): print('Deleting name') del self._name # Установите свойство для использования get_name, set_name # и методы del_name name = property(get_name, set_name, del_name, 'Имя свойства')p = Person('Сергей')print(p.name)p.name = 'Дмитрий'del p.name# РезультатGetting nameСергейSetting name to ДмитрийDeleting name