对一个函数、方法或者类进行加工
装饰器可以从操作上入手,为函数增加额外的指令
#装饰器返回一个新的函数(加工旧的函数,添加功能)
def decorator_demo(old_function):
def new_function(x,y):
print("参数为:{0},{1}".format(x,y))
return old_function(x,y)
return new_function
@decorator_demo #调用定义好的装饰器
def square_sum(x,y):
return x**2+y**2
#使用@语法才可以使用定义的装饰器
def cubic_sum(x,y):
return x**3+y**3
print("square_sum:",square_sum(2,3))
print("cubic_sum:",cubic_sum(4,5))
输出结果:
参数为:2,3 square_sum: 13 cubic_sum: 189