装饰器:在不改变原函数的整体结构的情况下对其功能做出修改
现在我们把一个能使数字开平方的函数变成开立方的函数作为例子
ex:
def b(func):
def c(y):#这个函数的参数y,为a(3)中的3,也就是说函数c,与函数a,的传参是一致的
return func(y)*y #现在返回值为27,也就是说函数c,与函数a,的返回值是一致的
return c #函数b的返回值一定为函数名否则报错,也就是说函数b的返回值为要执行对函数a修饰的函数名
@b
def a(x):
return x**2
a(3)==>27