Python中有一個(gè)被稱為屬性函數(shù)(property)的小概念,它可以做一些有用的事情吞歼。屬性property能做以下幾點(diǎn):
將類方法轉(zhuǎn)換為只讀屬性
重新實(shí)現(xiàn)一個(gè)屬性的setter和getter方法
使用屬性函數(shù)的最簡(jiǎn)單的方法之一是將它作為一個(gè)方法的裝飾器來使用。這可以讓你將一個(gè)類方法轉(zhuǎn)變成一個(gè)類屬性篙骡。當(dāng)我需要做某些值的合并時(shí),我發(fā)現(xiàn)這很有用糯俗。其他想要獲取它作為方法使用的人,發(fā)現(xiàn)在寫轉(zhuǎn)換函數(shù)時(shí)它很有用得湘。
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)
正如你看到的,我們吧函數(shù)名通過@property和@name.setter進(jìn)行了隱藏忽刽,調(diào)用時(shí),直接用函數(shù)名進(jìn)行調(diào)用跪帝,這時(shí)會(huì)很好的隱藏,使用的時(shí)候給人一種屬性的即視感