python装饰器

 装饰器:本身也是一个函数,在不改变原来函数的代码和调用方式,给函数添加新功能

 

分析:say=timer(say)等价于@timer,通过say=timer(say)来分析:

1、timer(say)——找到timer函数,say就是func,调用timer函数

2、走到new_func()函数,里面是1、调用func()也就是调用say()函数,2、打印出new_func这个函数名和运行时间(此时,这个new_func函数还没有被调用)

3、return返回new_func这个函数名,用say去接收

4、say()就是timer(say)()去调用了new_func()函数,打印里面的2个结果

 

posted on 2019-06-14 14:28  金龟子大战猕猴桃  阅读(166)  评论(0编辑  收藏  举报