装饰器:本质是函数,为其他函数添加附加功能.
原则: 不修改被修饰函数的源代码.
不修改被修饰函数的调用方式.
装饰器 = 高阶函数+函数嵌套+闭包.
高阶函数: 函数接收的参数是一个函数名或者函数的返回值是一个函数名.
函数嵌套
def liubei(name):
# 函数嵌套
def liuchan():
print("我是刘禅,我的爸爸是%s"%name)
liuchan()
print(locals())
liubei("刘备")