1
def myfunc():
print(" myfunc() called.")
return 'ok'
'ok'是函数的返回值。函数的返回值在被其他函数装饰后丢失
>>> myfunc()
myfunc() called.
'ok'
现在来装饰它与其他功能。 装饰功能。
def deco(func):
def _deco():
print("before myfunc() called.")
func()
print(" after myfunc() called.")
return _deco
用deco函数来装饰myfunc。
@deco
def myfunc():
print(" myfunc() called.")
return 'ok'
>>> myfunc()
before myfunc() called.
myfunc() called.
after myfunc() called.
为什么结果不如下?
>>> myfunc()
before myfunc() called.
myfunc() called.
'ok'
after myfunc() called.