装饰器
-
定义:本质是函数,功能是:装饰其他函数。就是为其他函数添加附加功能
-
原则:
1.不修改被装饰函数的源代码 2.不能修改被装饰的函数的调用方式
总结:装饰器对被修饰的函数是完全透明的
例题:
def timmer(func):
def warpper(*args, **kwargs):
start_time = time.time()
func()
stop_time = time.time()
print("the func time is %s" % (stop_time - start_time))
return warpper
def test1():
time.sleep(3)
print("in the test1")
test1()
# 结果是:
# in the test1
再看:
def timmer(func):
def warpper(*args, **kwargs):
start_time = time.time()
func()
stop_time = time.time()
print("the func time is %s" % (stop_time - start_time))
return warpper
@timmer
def test1():
time.sleep(3)
print("in the test1")
test1()
#结果:
# i