@类似于回调(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);