Python中有一个被称为属性函数(property)的小概念,它可以做一些有用的事情。属性property能做以下几点:
将类方法转换为只读属性
重新实现一个属性的setter和getter方法
使用属性函数的最简单的方法之一是将它作为一个方法的装饰器来使用。这可以让你将一个类方法转变成一个类属性。当我需要做某些值的合并时,我发现这很有用。其他想要获取它作为方法使用的人,发现在写转换函数时它很有用。
eg:
classUser(object):
def__init__(self, name):
self.__name=name
@property
defname(self):
returnself.__name
@name.setter
defname(self, name):
self.__name=name
u=User("磊哥是")
print(u.name)
u.name="狗子的爸爸"
print(u.name)
正如你看到的,我们吧函数名通过@property和@name.setter进行了隐藏,调用时,直接用函数名进行调用,这时会很好的隐藏,使用的时候给人一种属性的即视感