# 装饰器本质是函数 # 装饰器功能:装饰其他函数的,为其他函数添加附加功能 (个人理解 :函数扩展) # 原则: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://my.oschina.net/u/3551337/blog/995264