|
Size: 637
Comment:
|
← Revision 6 as of 2009-12-25 07:16:17 ⇥
Size: 610
Comment: converted to 1.6 markup
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| 参考[[WeiZhong/DecoratorsInPython24]] |
|
| Line 3: | Line 6: |
| #参考http://python.cn/pipermail/python-chinese/2006-January/021034.html | |
| Line 13: | Line 15: |
| Line 17: | Line 19: |
| Line 20: | Line 21: |
| }}} 输出: |
|
| Line 21: | Line 24: |
| }}} 输出: |
{{{ |
| Line 27: | Line 28: |
| }}} |
参考WeiZhong/DecoratorsInPython24
#带参数修饰器函数被调用时必须返回一个新的修饰器函数
def decoratorArgs(x,y):
def decorator(f):
def func(*args,**keywordArgs):
print 'invoke: %s(%s,%s)' % (f.__name__,x,y)
result=f(*args,**keywordArgs)
print 'invoked: %s(%s,%s)' % (f.__name__,x,y)
return result
return func
return decorator
@decoratorArgs(1,2)
def hello(arg):
print 'hello:',arg
hello('abc')
print输出:
invoke: hello(1,2) hello: abc invoked: hello(1,2)
