文章 > Python基础教程 > python装饰器转换方法的注意点

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

头像

小妮浅浅

2021-03-02 16:20:15439浏览 · 0收藏 · 0评论

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

(1)同名;

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

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

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

2、实例

class Foo:
    def __init__(self, name):
        self.name = name
    
    @property
    def f1(self):
        return self.name
    
    @f1.deleter
    def f1(self):
        print('hehe')
 
>>> obj = Foo('f1')
>>> del obj.f1
hehe

以上就是python装饰器转换方法的注意点,希望能对大家有所帮助。更多Python学习指路:python基础教程

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮