装饰器
装饰器= 高阶函数+函数嵌套+闭包
高阶函数
import time def foo(): time.sleep(3) print('from to foo') def timer(func): start_time=time.time() func() stop_time=time.time() print('函数运行时间是 %s' %(stop_time- start_time)) return func foo=timer(foo) foo()
函数嵌套
def foo(name): print('传入参数 %s' %name) def nam(): print('传入参数 %s' %name) def na() name = 'alxe' print('传入参数 %s' %name) na() nam() foo('小明')
闭包就是函数作用域的体现
装饰器
def timmer(func): def wrapper(): print(func) func() return wrapper @timmer text()
@timmer 糖果
多参数调用
def timmer(func): def wrapper(*args,*kwargs): print(func) func(*args,*kwargs) return wrapper @timmer text()