Python装饰器的诞生过程
Python中的装饰器是通过利用了函数特性的闭包实现的,所以在讲装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的。 一、函数特性 Python中的函数特性总的来说有以下四点: 1. 函数作为变量传递 def add(x): return x + 1 a = add # 作为变量 说明:函数如果不加括号,是不会执行的,代表的是一个函数对象,它是可以作为变量来传递。 2.函数作为参数传递 def add(x): return x + 1 def excute(f): return f(3) excute(add) # 作为参数 说明:一个函数可以接受另一个函数对象作为自己的参数,并对函数对象进行处理。 3.函数作为返回值 def add(x): return x + 1 def get_add(): return add # 作为返回值 说明:一个函数的返