描述器是一個(gè)類,這個(gè)類實(shí)現(xiàn)了__get__
和__set__
,__delete__
方法的類,其作用就是可以將一個(gè)類以變量的形式調(diào)用,看例子:
創(chuàng)新互聯(lián)從2013年開(kāi)始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元建始做網(wǎng)站,已為上家服務(wù),為建始各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
class WebFramework(object):
def __init__(self, name='Flask'):
self.name = name
def __get__(self, instance, owner):
return self.name
def __set__(self, instance, value):
self.name = value
class PythonSite(object):
webframework = WebFramework()
這是在網(wǎng)上找的一個(gè)例子,可以看出WebFramework是一個(gè)描述器,在PythonSite中,我們創(chuàng)建了一個(gè)WebFramework的實(shí)例,然后我們來(lái)看看如何使用描述器:
In [1]: PythonSite.webframework
Out[1]: 'Flask'
In [2]: PythonSite.webframework = 'Tornado'
In [3]: PythonSite.webframework
Out[3]: 'Tornado'
可以看出,webframework就如同PythonSite的一個(gè)變量一樣,賦值取值都是類似變量類似,在獲取值的時(shí)候調(diào)用描述器類的__get__
函數(shù),在賦值時(shí)調(diào)用__set__
函數(shù),這就是目前我理解的描述器的作用:將一個(gè)類包裝為一個(gè)變量來(lái)使用。
網(wǎng)頁(yè)題目:描述器學(xué)習(xí)小結(jié)
鏈接分享:http://aaarwkj.com/article18/gghsgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站建設(shè)、App開(kāi)發(fā)、企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)