@類似於回調(call back)函數
把其他的函數作為自己的參數,在目的函數執行前
執行一些自己的操作(計數、打印提示信息)
然後返回目的函數
需要對原來的函數添加額外的功能
但無法在函數內部完成
因此需要(外部的)修飾
#######################################
#被修飾的函數和修飾器的內嵌函數 要具有相等的形參
#比如我們想要求平方和
原有的函數是一個求和的函數
#那麼修飾操作就是定義一個內嵌的平方函數
這個平方函數內嵌在求平方和函數中
求平方和的函數是修飾後的求和函數
#因此作為修飾器它接受原油的求和函數作為輸入參數
# ## 原來的函數
# def sum_two_numbers(a, b):
# result = a+b;
# return result;
def sum_suquare_of_two_numbers(func):
def square_of_two_numbers(c, d, e):
a = c**2;
b = d**2;
return func(a, b, e);
return square_of_two_numbers;
## 原來的函數
@sum_suquare_of_two_numbers
def sum_two_numbers(a, b, c):
result = a+b;
return result;
result = sum_two_numbers(3, 4, 5);
print(result);