python装饰器转换方法的注意点

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、property setter 装饰器可以把一个方法转化为对此赋值,但此方法有一定要求:

(1)同名;

(2)必须接收 self 和 value 两个参数,value 为所赋的值。

有了 property setter 装饰器之后,被 property 装饰的函数就可以接收参数了。相应的,我们可以通过这个参数来达到我们的一些目的。

除了 setter 之外,还有一个 deleter 的装饰器,这也是 property 的第三个功能。当删除 property 装饰器装饰的函数(由于被 property 装饰,因此函数变成属性)时,会调用 deleter 装饰的函数。

2、实例

classFoo:
def__init__(self,name):
self.name=name

@property
deff1(self):
returnself.name

@f1.deleter
deff1(self):
print('hehe')

>>>obj=Foo('f1')
>>>delobj.f1
hehe
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。