# 装饰器本质是函数# 装饰器功能:装饰其余函数的,为其余函数添加附加功能 (我的理解 :函数扩展)# 原则:1,不能修改被装饰的函数的源代码# 2,不能修改被装饰的函数调用方式# 实现装饰器的知识储备# 1.函数即变量(意思就是函数就是变量!)# 2.高阶函数# 条件:# a:吧一个函数名当作实参传给 另一个函数!# b:返回值中包含函数名 (不修改函数的调用方式)# 3.嵌套函数# 高阶函数+嵌套函数=装饰器# 匿名函数prin=lambda x:x*3# 高阶函数# def xx():# print("-*-------------")### def dd(function):# function()# print("asdasdasdasdasd")# return function## xx=dd(xx)# xx()# 高阶函数def pp(func): #这是个高阶函数的例子 func() #等同于被添加的函数 # def xx(*args,**kwargs): #*args 当参数不肯定时表示能够容纳多个变量或者列表 #**kwargs 表示能够容纳多个键值对 def xx(): aa=input("输入一个值") print(aa) return xx@pp #进行功能迭代的直接方法def cc(): print("------------------------") return "AAA"dd = cc()print(dd)