首页 > 编程语言 > 详细

python-装饰器

时间:2019-06-26 21:36:43      阅读:97      评论:0      收藏:0      [点我收藏+]
def log(func):
def innerfun(*args,**kw):
print(‘日志打印纸,,‘)

return func(*args,**kw)
return innerfun
‘‘‘#加上前面的 @log后,now = log(now) 返回的是内层函数=innerfun
所以 now = uinnerfun 调用now()的时候就是调用innerfun(),
innerfun()经过加入新的功能,最后把原来的now()调用返回来了‘‘‘
@log
def now(a,b):
print(a+b)


now(1,2)



‘‘‘如果装饰器本身要需要传递参数,就需要再写一个函数来返回装饰器,‘‘‘
def loog(text):
def infun(fun):
def innfun(*args,**kw):
print(text)
return fun(*args,**kw)
return innfun
return infun


@loog(‘我就是我‘)
def fun(a,b):
print(a+b)


fun(1,2)

python-装饰器

原文:https://www.cnblogs.com/tarzen213/p/11093632.html

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