在Python中,Property()函数的主要目的是创建类的属性。
用法: property(fget, fset, fdel, doc)
参数:
fget()-用于获取属性的值
fset()-用于设置属性的值
fdel()-用于删除属性值
doc()-包含属性文档(文档字符串)的字符串
返回:从给定的getter,setter和deleter返回属性属性。
注意:
- 如果未提供任何参数,则property()方法将返回不包含任何getter,setter或Deleter的基本属性属性。
- 如果未提供doc,则property()方法采用getter函数的文档字符串。
范例1:使用property()方法
# 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
输出:
Getting value GeeksforGeeks Setting value to GfG Deleting value
使用装饰器:
装饰器的主要工作是用于将函数添加到现有代码中。也称为元编程,它是程序的一部分,试图在编译时修改程序的另一部分。
范例2:使用@property装饰器
# 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
输出:
Getting value Peter Setting value to Diesel Deleting value
使用@property装饰器的方式与property()方法相同。
首先,指定value()方法也是Alphabet的属性,然后,我们使用该属性值来指定设置器和删除器。注意,相同的方法value()用于不同的定义来定义getter,setter和deleter。每当我们使用x.value时,它都会在内部调用适当的getter,setter和deleter。
应用范围:
通过使用property()方法,我们可以修改我们的类并实现值约束,而无需对客户端代码进行任何更改。这样实现是向后兼容的。
相关用法
- Python oct()用法及代码示例
- Python hex()用法及代码示例
- Python now()用法及代码示例
- Python int()用法及代码示例
- Python dir()用法及代码示例
- Python tell()用法及代码示例
- Python ord()用法及代码示例
- Python map()用法及代码示例
- Python id()用法及代码示例
- Python sum()用法及代码示例
- Python cmp()用法及代码示例
- Python fsum()用法及代码示例
注:本文由纯净天空筛选整理自shubham tyagi 4大神的英文原创作品 Python | property() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。