继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

装饰器学习代码,由浅及深

羽逸轻烟
关注TA
已关注
手记 1
粉丝 0
获赞 0

import functools
def log1(f):
def new_test():
print 'call %s()...' % (f.name)
return f()
return new_test

def log2(str):
def log1(f):
def new_test(*argc,*argv):
print '[%s]call %s' %(str,f.name)
return f(
argc,**argv)
return new_test
return log1

def log3(str):
def log1(f):
@functools.wraps(f)
def new_test(*argc,*argv):
print '[%s]third time call %s' %(str,f.name)
return f(
argc,**argv)
return new_test
return log1

@log1
def test():
pass

print test()

@log2('DEBUG')
def test():
pass

print test()
print test.name

@log3('DEBUG')
def test():
pass

print test()
print test.name

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP