def function1():
print "execute function1"
def inner_function1():
print "execute inner_function1"
print "execute function1"
def inner_function1():
print "execute inner_function1"
而基於這個方法,可在搭配Decorator,做出類似Callback Function
def callback(user_func):
def _callback(*args, **kwargs):
print '''執行預先處理 '''
# 執行使用者函數
return user_func(*args, **kwargs)
return _callback
def _callback(*args, **kwargs):
print '''執行預先處理 '''
# 執行使用者函數
return user_func(*args, **kwargs)
return _callback
1. 一般呼叫方式
def cb(x):
print "計算 x+x"
return x+x
result = callback(cb)
print result(5)
print "計算 x+x"
return x+x
result = callback(cb)
print result(5)
輸出結果 :
執行預先處理
計算 x+x
10
計算 x+x
10
2. 使用 Decorator @ --> 是Python語言的特殊字,稱之Decorator ,用法如下
@callback
def cb(x):
print "計算 x+x"
return x+x
print cb(5)
def cb(x):
print "計算 x+x"
return x+x
print cb(5)
Reference :
[1][python] decorator 之很難理解的快速理解法
沒有留言:
張貼留言