Python类中使用property() 函数 和@property 装饰符

基本解释

属性(property)提供了一种安全、便捷的方式来与这些属性(attribute)交互,而不需要手动编写一系列的访问方法,如果需要的话可以自定义getter和setter方法来覆盖编译器自动生成的相关方法。

具体操作

@property是在函数def xin(self)上方的(这是由于property是装饰器函数,它的参数中一定要有个函数,并且最终会返回这个函数)
这样的话就可以直接使用getter,sttter,deleter方法来对函数xin修改他的属性,这定义的这三个方法必须传入@xin.getter,下方则是具体的修改函数,一般函数名还是原函数名,会多传个参数value进去进行修改之类的
详情可以参考https://fishc.com.cn/forum.php?mod=viewthread&tid=200034&highlight=property;当然这个不全,有空自己补充下(2021/9/28/19.58所改)

注意点:

这个方法getter必须写在setter和deleter的最前面,且getter、setter、deleter使用同一个函数名(这里的getter也就是@property)
@property下方的函数也就变成了property修饰符名
所以setter前面的函数名必须是@property下方的函数

posted @ 2021-07-14 14:25  索匣  阅读(92)  评论(0编辑  收藏  举报