Python項(xiàng)目中如何使用裝飾器-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Python項(xiàng)目中如何使用裝飾器,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)公司于2013年成立,先為延邊朝鮮族等服務(wù)建站,延邊朝鮮族等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為延邊朝鮮族企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

一. 什么是裝飾器

知乎某大佬如是說:內(nèi)褲可以用來遮羞,但是到了冬天它沒法為我們防風(fēng)御寒,聰明的人們發(fā)明了長褲,有了長褲后寶寶再也不冷了,裝飾器就像我們這里說的長褲,在不影響內(nèi)褲作用的前提下,給我們的身子提供了保暖的功效。
裝飾器本質(zhì)上是Python函數(shù),可以為已存在的對象添加額外的功能,同時裝飾器還可以抽離出與函數(shù)無關(guān)的重用代碼。具體應(yīng)用場景如:插入日志、性能測試、事務(wù)處理、緩存、權(quán)限校驗(yàn)等。

換言之

裝飾器不能影響原函數(shù)的功能,裝飾器是獨(dú)立出來的函數(shù)。誰調(diào)用它,誰就可以使用它的功能。

二.舉個栗子

add的功能是計算x和y的值,我們稱作功能函數(shù)。
logger的作業(yè)是在執(zhí)行add函數(shù)的同時再打印了其他的信息,這部分的作為add的功能增強(qiáng),我們稱為裝飾。
在logger里我們可以加入其他類似的功能函數(shù),也能包裝它,可以進(jìn)行復(fù)用。

1.引子

#功能函數(shù)
def add(x,y):
 return x+y

#裝飾函數(shù)
def logger(fn):
 print('frist')
 x = fn(4,5)
 print('second')
 return x 

print(logger(add))

#把函數(shù)add傳給logger ,return x+y
#print('frist')
#print('secend')
# x = fn(4,5) ==> x = 4 y= 5 x= 4+5 = 9 
#return 9 

當(dāng)前題目:Python項(xiàng)目中如何使用裝飾器-創(chuàng)新互聯(lián)
分享地址:http://muchs.cn/article46/cdjpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、軟件開發(fā)、搜索引擎優(yōu)化、ChatGPT、企業(yè)建站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司