python装饰器
来源:互联网 发布:ubuntu下安装jdk9 编辑:程序博客网 时间:2024/04/27 03:07
第一种形式
def decorator(fun):
logging.warn("before")
fun()
logging.warn("after")
return fun
使用 语法糖
@decoratordef fun():
print("ok");
上述其实等价于
fun = decorator(fun)
第二种形式,使用类方式
class tracer:
def __init__(self, func):
self.calls = 0
self.func = func
def __call__(self, *args):
self.calls += 1
print('call %s to %s' %(self.calls, self.func.__name__))
self.func(*args)
@tracer
def spam(a, b, c):
print a, b, c
spam(19, 29, 30)
阅读全文
0 0
- python装饰器装饰类
- [python]python装饰器
- Python装饰器学习
- Python装饰器
- python 装饰器
- Python装饰器
- python 装饰器 应用
- python 装饰器2
- Python装饰器学习
- python装饰器
- python装饰器
- python 装饰器入门
- python装饰器
- python装饰器
- python 装饰器'@'
- python装饰器
- Python装饰器详解
- python 装饰器
- hadoop常用命令
- javascript中的 &&, ||, ! 操作符
- Unity3D学习记录——刚体加外力
- lintcode--链表求和
- 函数指针的使用
- python装饰器
- 图灵杯splay
- Java总结
- Java_基础—HashSet存储自定义对象保证元素唯一性
- Hadoop安装
- 用html如何把页面分割成多个文件,由多个文件拼接而成?
- java基础教程:集合概述(27)
- Unity3D学习记录——刚体跳跃
- TCP/IP小结