property属性
Posted 笃行1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了property属性相关的知识,希望对你有一定的参考价值。
property类有3个方法getter、setter、deleter, 分别把对应的操作绑定到指定的函数实现。
因此:
1) 对property类对象的读操作就是执行绑定到getter的函数
2) 对对象赋值操作就是执行绑定到setter的函数
3) 对删除对像操作则执行绑定到deleter的函数,
这是property类所特别的功能,也是python区别于其它语言所特有的功能。 用例子来说明:
class People: def __init__(self, name): self.__name = name @property def name(self): print(‘welcome %s ‘ % self.__name) @name.getter def name(self): print(‘>>>>:‘,self.__name) @name.setter def name(self,val): if not isinstance(val,str): print(‘名字必须是字符串‘) return self.__name = val @name.deleter def name(self): print(‘deleter‘) print(‘不允许删除‘) p = People(‘alex‘) p.name del p.name p.name=‘zhang‘ p.name
运行结果:
>>>>: alex
deleter
不允许删除
>>>>: zhang
分析总结:property 它把函数属性编程数据属性使用。例如p.name就是用了getter。 del p.name用的是deleter。p.name=‘zhang‘用的是setter
以上是关于property属性的主要内容,如果未能解决你的问题,请参考以下文章
Failed to convert property value of type ‘java.lang.String‘ to required type ‘int‘ for property(代码片段
使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'
Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段