首页 > 编程语言 > 详细

Python-有惨状时器、多个装饰器装饰一个函数

时间:2020-02-09 21:56:55      阅读:91      评论:0      收藏:0      [点我收藏+]

装饰器的进阶

有参:在标准装饰器的外面多套一层,多套一层就需要额外的多调用一次

语法糖:@最外层函数名("参数")

技术分享图片

def auth(argv):
   def wrapper(func):
       def inner(*args,**kwargs)
       print(argv)
       username = input("请输入用户名字:")
       password = input("请输入用户密码:")
       if username == "laoda" and password == "laoda"
      func(*args,**kwargs)
   return wrapper
def foo():
   print("I am father")
wrapper = auth("fuck")
foo = wrapper(foo)
foo()

 

def auth(argv):
   def wrapper(func):
       def inner(*args,**kwargs):
           if argv:
               print("If we‘re gonna do this,we‘ve got to do it nwo")
               func(*args,**kwargs)
           else:
               func(*args,**kwargs)
       return inner
   return wrapper
@auth("True")
def foo():
   print("Sharing love isn‘t losing love.Love is infinite")
foo()
               

技术分享图片

 

多个装饰器装饰一个函数

  • 多个装饰器装饰一个函数时,先执行离被装饰函数最近的装饰器

  • 小技巧:v

递归

  • 不断调用自己本身

  • 有明确的终止条件

 

 

Python-有惨状时器、多个装饰器装饰一个函数

原文:https://www.cnblogs.com/womenzt/p/12288548.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!