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.