python装饰器写法,python装饰器用法

  python装饰器写法,python装饰器用法

  1、装饰器说明

  装饰器看上去并没有任何参数(使用@时被装饰的方法作为隐式参数传递给装饰器)。但是,有时候让装饰器自带一些参数,可以提供更灵活的应用。

  2、实例

  我们改写requires _ ints,使其还可以限制被装饰函数的参数的数量:

  fromfunctoolsimportwraps

  defrequires_ints(count=0):

  defdecorator(func):

  @wraps(func)

  defwrapper(*args,**kwargs):

  values=[iforinkwargs。values()]

  args _ list=list(args)[iforinkwargs。values()]

  ifcount==0:

  #不限制

  及格

  eliflen(args_list)count:

  引发异常(f thenumberofargumentscannotmoreton { count } )

  forarginargs_list:

  ifnotisinstance(arg,int):

  raiseypeerror(只接受整数.)

  returnfunc(*args,**kwargs)

  返回包装器

  返回装饰器

  @requires_ints(5)

  defadd(*args):

   Returnthesumofallarguments

  returnsum(参数)以上就是大蟒带参数装饰器的写法,希望能对大家有所帮助,更多知识尽在盛行信息技术软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: