装饰器模式
来源:互联网 发布:天道总司 知乎 编辑:程序博客网 时间:2024/06/06 07:29
装饰器
from functools import wrapsdef log(text=""): def decorator(func): @wraps(func): def wrapper(*args,**kw): print("%s %s() begin call"%(text,func.__name__) ret = func(*args,**kw) print("%s %s() end call"%(text,func.__name__) return ret return wrapper return decorator@log()def now(): print("now calling")now()''' output now begin call now calling now end call
廖雪峰python教程
在js中也可以同样的给函数包装一层装饰器
function before(){ console.log(" call begin") } function end(){ console.log(" call begin") } function wrapper(func,before,end){ return function(){ before.apply(null,arguments) func.apply(null,arguments) end.apply(null,arguments) } } function now(){ console.log('now is calling') } var wrapnow = wrapper(now,before,end) wrapnow()
阅读全文
0 0
- c++装饰器模式
- 装饰器模式
- 装饰器模式
- 装饰器(Decorator)模式
- 装饰器模式
- 装饰器模式
- 装饰器模式
- 装饰器模式
- 装饰器模式
- 装饰器模式
- 装饰器(Decorator)模式
- 浅谈装饰器模式
- java 装饰器模式
- 装饰器(Decorator)模式
- 装饰器模式
- 装饰器(Decorator)模式
- 装饰器模式
- 装饰器模式
- scrollTop、offsetTop、页面视口高度的使用情景
- Cassandra dc 配置(4 datacenter)
- BZOJ 1999: [Noip2007]Core树网的核[dfs]
- [贪心+单调队列+ST算法]51 nod 1288 ——汽油补给
- 解决数据库乱码问题
- 装饰器模式
- 打印菱形与abs
- leetcode 595. Big Countries(SQL,最简单的leetcode题目)38
- 从零开始实现线性判别分析(LDA)算法(二类情形)
- 二、osmdroid地图资源
- 自传
- springboot异常:java.lang.NoClassDefFoundError: antlr/RecognitionException解决
- 练习
- 【BZOJ】1999 [Noip2007]Core树网的核 树的直径+DFS