python @property
Posted ADChen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python @property相关的知识,希望对你有一定的参考价值。
先来一个例子:
class Person(object): def __init__(self, name): self.__name = name @property def get_name(self): return self.__name @get_name.setter def get_name(self, new_name): self.__name = new_name person = Person("adong") person.get_name = "Adong" print person.get_name >>>Adong
如上例子中:
1、使用__name,私有化变量,在类的外面不能直接调用该变量或者属性,尽管可以使用黑科技绕过,但不推荐
2、@property,如果不加,需要这样调用xxx.get_name(args),加上之后,可以使用xxx.get_name 不用加括号;调用的方法和属性相同;
3、使用了@property的方法,如果要改变返回的值,可以继续使用装饰器:@get_name.setter,定义返回的值。
以上是关于python @property的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段