首页 > 编程语言 > 详细

python装饰器的用法

时间:2020-03-23 18:15:12      阅读:62      评论:0      收藏:0      [点我收藏+]

 

 

什么是装饰器?简单的说装饰器就修改其他函数的功能的函数,比如:函数调用前需要先进性验证,总不能所有的模块都修改对吧?

 

官方解释:

装饰器是要把原来的函数装饰成新的函数,并且返回这个函数本身的高阶函数。

案例1:

我们有一个写好的函数,现在需要增加计算时长的功能,怎么实现?

 

def add(x, y):
    print(x,y)

add(1,2)

---------------------------
我们只需要写个计算时长的装饰器函数就可以:

import time

def timmer(func):
    def w(*args, **kwargs):
        start_time = time.time()
        # 让进程睡一秒
        time.sleep(1)
        # 调用被装饰的函数
        result = func(*args, **kwargs)
        stop_time = time.time()
        print("{func} spend {time} ".format(func = "add", time = stop_time-start_time))
        return result
    return w

 

@timmer
def add(x, y):
    print(x,y)

add(1,2)

 

 

 

 

python装饰器的用法

原文:https://www.cnblogs.com/12james/p/12553613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!