测试1
deco运行,但myfunc并没有运行
def myfunc():
print 'myfunc() called'
myfunc = deco(myfunc)
测试2
需要的deco中调用myfunc,这样才可以执行
def myfunc():
print 'myfunc() called'
myfunc = deco(myfunc)
测试3
@函数名 但是它执行了两次
@deco
def myfunc():
print 'myfunc() called'
myfunc()
测试4
这样装饰才行
@deco
def myfunc():
print 'myfunc() called'
myfunc()
测试5
@带参数,使用嵌套的方法
@deco('deco')
def myfunc():
print 'myfunc() called'
myfunc()
测试6
函数参数传递
@deco('deco')
def myfunc(str):
print 'myfunc() called ', str
myfunc('hello')
测试7
未知参数个数
@deco('deco1')
def myfunc1(str):
print 'myfunc1() called ', str
@deco('deco2')
def myfunc2(str1,str2):
print 'myfunc2() called ', str1, str2
myfunc1('hello')
myfunc2('hello', 'world')
测试8
class作为修饰器
测试9
实例
给函数做缓存 --- 斐波拉契数列
print fib(10)
注册回调函数 --- web请求回调
mysql封装 -- 很好用
线程异步