首页 > 其他 > 详细

装饰器

时间:2019-02-21 20:53:25      阅读:192      评论:0      收藏:0      [点我收藏+]
装饰器
目的: 不改变原来代码的基础上. 给函数添加新功能
动态代理. 拦截器

通用装饰器的写法
def wrapper(fn):
def inner(*args, **kwargs):
‘‘‘之前‘‘‘
ret = fn(*args, **kwargs)
‘‘‘之后‘‘‘
return ret
return inner

@wrapper
def login():
pass

带参数的装饰器
def wrapper_out(flag):
def wrapper(fn):
def inner(*args, **kwargs):
if flag:
print("问问老板, 行情怎么样")
else:
print("自己去")
ret = fn(*args, **kwargs)
print("亲人两行泪")
return ret
return inner
return wrapper

@wrapper_out(False)
def yue():
print("约me?")

@wrapper_out(True)
def chi():
print("吃饭去了")

yue()
chi()

装饰器

原文:https://www.cnblogs.com/xdlzs/p/10415085.html

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