W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
Python property() 函數(shù)的作用是在新式類中返回屬性值。
以下是 property() 方法的語法:
class property([fget[, fset[, fdel[, doc]]]])
返回新式類屬性。
定義一個可控屬性值 x
class C(object):
def __init__(self):
self._x = None
def getx(self):
return self._x
def setx(self, value):
self._x = value
def delx(self):
del self._x
x = property(getx, setx, delx, "I'm the 'x' property.")
如果 c 是 C 的實例化,c.x 將觸發(fā) getter,c.x = value 將觸發(fā) setter,del c.x 觸發(fā) deleter。
如果給定 doc 參數(shù),其將成為這個屬性值的 docstring,否則 property 函數(shù)就會復制 fget 函數(shù)的 docstring(如果有的話)。
將 property 函數(shù)用作裝飾器可以很方便的創(chuàng)建只讀屬性:
class Parrot(object):
def __init__(self):
self._voltage = 100000
@property
def voltage(self):
"""Get the current voltage."""
return self._voltage
上面的代碼將 voltage() 方法轉化成同名只讀屬性的 getter 方法。
property 的 getter,setter 和 deleter 方法同樣可以用作裝飾器:
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
這個代碼和第一個例子完全相同,但要注意這些額外函數(shù)的名字和 property 下的一樣,例如這里的 x。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: