python帶參數(shù)的裝飾器怎么寫?
python帶參數(shù)的裝飾器怎么寫?
1、裝飾器說明
裝飾器看上去并沒有任何參數(shù)(使用@時被裝飾的方法作為隱式參數(shù)傳遞給裝飾器)。但是,有時候讓裝飾器自帶一些參數(shù),可以提供更靈活的應(yīng)用。
2、實例
我們改寫requires_ints,使其還可以限制被裝飾函數(shù)的參數(shù)的數(shù)量:
fromfunctoolsimportwraps
defrequires_ints(count=0):
defdecorator(func):
@wraps(func)
defwrapper(*args,**kwargs):
values=[iforiinkwargs.values()]
args_list=list(args)+[iforiinkwargs.values()]
ifcount==0:
#Notlimit
pass
eliflen(args_list)>count:
raiseException(f'Thenumberofargumentscannotmorethan{count}')
forarginargs_list:
ifnotisinstance(arg,int):
raiseTypeError('Onlyacceptintegers.')
returnfunc(*args,**kwargs)
returnwrapper
returndecorator
@requires_ints(5)
defadd(*args):
'''Returnthesumofallarguments'''
returnsum(args)
以上就是python帶參數(shù)裝飾器的寫法,希望能對大家有所幫助,更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

相關(guān)推薦HOT
更多>>
python包的導(dǎo)入方式有幾種
python包的導(dǎo)入方式有幾種本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。1、from...import導(dǎo)入frompackageimportmodule1,mo詳情>>
2023-11-08 23:58:44
python參數(shù)是什么
python參數(shù)是什么1、概念Python中函數(shù)的參數(shù)是不變的對象。Python函數(shù)具有靈活的參數(shù)形式,但默認(rèn)參數(shù)必須指向不變的對象。如果默認(rèn)參數(shù)是可變...詳情>>
2023-11-08 19:48:30
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-08 19:23:48
python按行讀取文件的方法比較
python按行讀取文件的方法比較1、read方法默認(rèn)會把文件的所有內(nèi)容一次性讀取到內(nèi)存。如果文件太大,對內(nèi)存的占用會非常嚴(yán)重2、readline方法,re...詳情>>
2023-11-08 18:22:27熱門推薦
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊
了解師資團(tuán)隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線