• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      400-811-9990
      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時隨地免費學(xué)習(xí)課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當(dāng)前位置:合肥千鋒IT培訓(xùn)  >  技術(shù)干貨  >  python帶參數(shù)的裝飾器怎么寫?

      python帶參數(shù)的裝飾器怎么寫?

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-08 09:34:47

      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):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

      猜你喜歡LIKE

      python是什么編程語言

      2023-11-08

      pythonprogram是什么

      2023-11-08

      python包和文件夾有什么區(qū)別

      2023-11-08

      最新文章NEW

      pythoninsert函數(shù)是什么

      2023-11-08

      pythongil是什么

      2023-11-08

      pythontry是什么意思

      2023-11-08

      相關(guān)推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網(wǎng)友熱搜 更多>>