#无参数的装饰器函数def doc(func): print func return func @doc def foo(): print "successful"foo()#doc是装饰函数,foo是被装饰函数,foo作为doc函数,在doc中一定要返回foo这个函数对象,即return func#有参数的装饰器函def doc(arg):#由于带参数的装饰器只能利用现有的参数,不能使用被修饰函数对象作为参数,所以需重新定义一个接受装饰函数的函数 def newdoc(func): print func return func return newdoc@doc(real)#real可以是你所需要的值def f(): print "Life is short , I need python"@doc(image)def g(): print "successful"
#无参数的装饰器函数
def doc(func):
print func
return func
@doc
def foo():
print "successful"
foo()#doc是装饰函数,foo是被装饰函数,foo作为doc函数,在doc中一定要返回foo这个函数对象,即return func
#有参数的装饰器函数
def doc(*arg): def newdoc(func): print [x*y for x in (1,2) for y in range(10)] return func return newdoc @doc def f(): print "Life is short"