Python构建一个记录函数运行的装饰器类

2022-05-03 00:00:00 函数 运行 构建一个

本文代码定义了一个装饰器类,用于记录函数的运行信息,代码详细演示的装饰器的定义和调用方式,稍加改造可以用于记录函数的执行时间和调试。

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


class Decorator(object):

    def __init__(self, func):
        self.func = func
        return

    def __call__(self, *args, **kwargs):
        print("{} 调用开始:{}".format(self.func.__name__, datetime.datetime.now()))
        result = self.func(*args, **kwargs)
        print("{} 调用截止:{}".format(self.func.__name__, datetime.datetime.now()))
        return result


# 使用装饰器
@Decorator
def test_func(a, b, c):
    print("test_func: a=%s, b=%s, c=%s" % (a, b, c))
    return 1


test_func(1, 2, 3)

输出结果:
test_func 调用开始:2022-04-06 09:17:16.565854
test_func: a=1, b=2, c=3
test_func 调用截止:2022-04-06 09:17:16.565874

代码在Python3.9下测试通过。

相关文章