Python声明一个装饰器用于记录函数的运行

2022-05-03 00:00:00 函数 运行 声明

代码声明了一个装饰器,用于记录函数的运行信息,可以使用此装饰器记录函数运行的执行时间或者其它通用操作。

"""
皮蛋编程(https://www.pidancode.com)
创建日期:2022/4/6
功能描述:Python声明一个装饰器用于记录函数的运行
"""

import functools
import datetime


# 构建一个不带参数的记录函数运行的装饰器
def logging(func):
    @functools.wraps(func)
    def decorator(*args, **kwargs):
        print("{} 调用开始:{}".format(func.__name__, datetime.datetime.now()))
        result = func(*args, **kwargs)
        print("{} 调用截止:{}".format(func.__name__, datetime.datetime.now()))
        return result

    return decorator


# 使用记录函数运行的装饰器
@logging
def test_func(a, b):
    print("test_func, a={}, b={}".format(a, b))
    return 1


test_func(1, 2)

相关文章