Python — функция property()
Описание
property()Функция используется для возврата значений атрибутов в классах нового стиля.
Синтаксис
Ниже приведён синтаксис метода property():
class property([fget[, fset[, fdel[, doc]]]])
Parameters
- fget -- функция для получения значения атрибута
- fset -- функция для установки значения атрибута
- fdel -- функция для удаления значения атрибута
- doc -- информация описания атрибута
Возвращаемое значение
Возвращает атрибуты класса нового стиля.
Примеры
Определяет управляемое значение атрибута x
ЕслиcДаCЕсли c является экземпляром C, c.x вызовет геттер, c.x = value вызовет сеттер, а del c.x вызовет делитер.
Если параметр doc задан, он станет строкой документации этого значения атрибута; в противном случае функция property скопирует строку документации функции fget (если она есть).
Использование функции property в качестве декоратора позволяет удобно создавать свойства только для чтения:
Приведённый выше код преобразует метод voltage() в метод-геттер для свойства только для чтения с тем же именем.
Методы getter, setter и deleter у property также можно использовать в качестве декораторов:
Этот код точно такой же, как и первый пример, но обратите внимание, что имена этих дополнительных функций совпадают с именами под property, например x здесь.
Другие расширения
Встроенные функции Python