装饰器实质上是一个函数,把一个函数作为输入并且返回另一个函数。
- *args和**kwargs
- 闭包
- 作为参数的函数
def square_it(func): def new_function(*args,**kwargs): result=func(*args,**kwargs) return result*result return new_function
@square_it def add_ints(a,b): return a+b >>>add_ints(3,5) 64
装饰器实质上是一个函数,把一个函数作为输入并且返回另一个函数。
def square_it(func): def new_function(*args,**kwargs): result=func(*args,**kwargs) return result*result return new_function
@square_it def add_ints(a,b): return a+b >>>add_ints(3,5) 64