python-装饰器1
定义
本质就是函数,(装饰其他函数)就是为其他函数添加附加功能
原则:
1、不能修改被装饰的函数的源代码
2、不能修改被装饰的函数的调用方式
def logger():
print('logging')
def test1():
pass
logger()
def test1():
pass
logger()
test1()
test2()
实现装饰器知识:
1.函数既“变量”
2、高阶函
a :把一个函数名当做实参传给另外一个函数(不能修改被装饰的函数的源代码)
b :返回值中包含函数名
3、嵌套函数
就是在一个函数中用def定义一个新的函数。
高阶函数+嵌套函数=装饰器
import time
def timmer(func):
def warpper(*args,**kwargs):
start_time=time.time()
func()
stop_time=time.time()
print('the func run time is %s'%(stop_time-start_time))
return warpper
@timmer
def test1():
time.sleep(3)
print("in the test1")
test1()