# 装饰器本质是函数# 装饰器功能:装饰其他函数的,为其他函数添加附加功能 (个人理解 :函数扩展)# 原则: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)
转载于:https://www.cnblogs.com/EVNS/p/7064363.html
相关资源:JAVA上百实例源码以及开源项目