在很多时候,我们需要在原来函数的基础上增加函数的功能,那这个时候就需要用到装饰器了
def outer(fun):
def inner():
print("大家好,我是安建大的老师")
fun()
return inner
@outer
def tiyu():
print("看我罗汉拳")
@outer
def yinyue():
print("听我琵琶行")
@outer
def shuxue():
print("推导傅里叶")
tiyu()
当解释器读到@这样的修饰符的时候会优先解除@后的内容,直接就把@的下一行的函数或者类作为@后边函数的参数,然后将返回值赋给下一个修饰的函数对象。