Python:用来显示函数执行时间的装饰器

预备知识

装饰器是一个函数。通过学习菜鸟教程来了解装饰器的基本概念、作用和Python语法。

正文

本文介绍一个用来显示函数执行时间的装饰器。以下的代码用来装饰一个函数,使函数运行完毕后能显示函数的运行时间,而且可以自定义提示信息。

def time_decorator_with_prompt(prompt_infor):
    def time_decorator(f):
        @wraps(f)
        def decorated(*args, **kwargs):
            start_time = time.time()
            result = f(*args, **kwargs)
            print(prompt_infor + ", Time =", time.time() - start_time)
            return result
        return decorated
    return time_decorator

这段代码的范式学习自菜鸟教程

解释

这段代码最有意义的是给装饰器加参数。通过外面套一个函数的壳(time_decorator_with_prompt),使用多少参数都可以通过外面的壳传入,然后在壳内部直接使用这些参数确定装饰器,最后返回这个被确定的装饰器。在外部确定参数,也是函数式编程一个很大的应用。

应用

以下是一个应用的例子:

@time_decorator_with_prompt(prompt_infor = "Load File Successfully")
def load_file():
    # load some file
    return something

load_file()

输出信息:

Load File Successfully, Time = 0.01
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章