Функция Python property ()
In Python, the main purpose of Property()
function is to create property of a class.
Syntax: property(fget, fset, fdel, doc)
Parameters:
fget() – used to get the value of attribute
fset() – used to set the value of attribute
fdel() – used to delete the attribute value
doc() – string that contains the documentation (docstring) for the attributeReturn: Returns a property attribute from the given getter, setter and deleter.
Примечание:
- Если аргументы не указаны, метод property () возвращает базовый атрибут свойства, который не содержит никаких средств получения, установки или удаления.
- Если документ не указан, метод property () принимает строку документации функции получения.
Example #1: Using property() method
# Python program to explain property() function # Alphabet class class Alphabet: def __init__( self , value): self ._value = value # getting the values def getValue( self ): print ( "Getting value" ) return self ._value # setting the values def setValue( self , value): print ( "Setting value to " + value) self ._value = value # deleting the values def delValue( self ): print ( "Deleting value" ) del self ._value value = property (getValue, setValue, delValue, ) # passing the value x = Alphabet( "GeeksforGeeks" ) print (x.value) x.value = "GfG" del x.value |
Выход:
Получение ценности GeeksforGeeks Установка значения GfG Удаление значения
Используя декоратор:
Основная работа декораторов заключается в том, что они используются для добавления функциональности в существующий код. Также называется метапрограммированием, поскольку часть программы пытается изменить другую часть программы во время компиляции.
Example #2: Using @property decorator
# Python program to explain property() # function using decorator class Alphabet: def __init__( self , value): self ._value = value # getting the values @property def value( self ): print ( "Getting value" ) return self ._value # setting the values @value .setter def value( self , value): print ( "Setting value to " + value) self ._value = value # deleting the values @value .deleter def value( self ): print ( "Deleting value" ) del self ._value # passing the value x = Alphabet( "Peter" ) print (x.value) x.value = "Diesel" del x.value |
Выход:
Получение ценности Питер Установка значения Дизель Удаление значения
Использование декоратора @property работает так же, как метод property ().
Сначала укажите, что метод value () также является атрибутом Alphabet, затем мы используем значение атрибута, чтобы указать установщик и удалитель. Обратите внимание, что один и тот же метод value () используется с разными определениями для определения получателя, установщика и удалителя. Всякий раз, когда мы используем x.value, он внутренне вызывает соответствующий метод получения, установки и удаления.
Приложения:
Используя метод property (), мы можем изменить наш класс и реализовать ограничение значения без каких-либо изменений, требуемых в клиентском коде. Так что реализация обратно совместима.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.