demo.py(裝飾器,帶參數(shù)的裝飾器):
def set_level(level_num): def set_func(func): def call_func(*args, **kwargs): if level_num == 1: print("----權(quán)限級(jí)別1,驗(yàn)證----") elif level_num == 2: print("----權(quán)限級(jí)別2,驗(yàn)證----") return func() return call_func return set_func # 帶有參數(shù)的裝飾器裝飾過(guò)程分為2步: # 1. 調(diào)用set_level函數(shù),把1當(dāng)做實(shí)參 # 2. set_level返回一個(gè)裝飾器的引用,即set_func # 3. 用返回的set_func對(duì)test1函數(shù)進(jìn)行裝飾 @set_level(1) # 調(diào)用set_level方法(可以傳參,不同的參數(shù)裝飾不同的功能),用set_level方法的返回值當(dāng)做裝飾器進(jìn)行裝飾。 def test1(): print("-----test1---") return "ok" @set_level(2) def test2(): print("-----test2---") return "ok" test1() test2()
網(wǎng)頁(yè)名稱(chēng):Python帶有參數(shù)的裝飾器實(shí)例代碼詳解-創(chuàng)新互聯(lián)
URL地址:http://chinadenli.net/article6/dhjhig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、定制開(kāi)發(fā)、微信小程序、企業(yè)網(wǎng)站制作、Google、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容