美文网首页
Python自定义装饰器

Python自定义装饰器

作者: zqyadam | 来源:发表于2020-02-21 22:20 被阅读0次
import datetime
import functools

# 定义装饰器time
def time(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        print('[', datetime.datetime.now(), ']')
        return func(*args, **kwargs)

    return wrapper

# 定义带有参数的装饰器time_format
def time_format(format):
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            print(datetime.datetime.now().strftime(format))
            return func(*args, **kwargs)

        return wrapper

    return decorator

# 使用time装饰器
@time
def sayHello():
    print("Hello world")


# 使用带参数的装饰器
@time_format("%Y/%m/%d %H:%M:%S")
def hello_time():
    print('hello time')


if __name__ == "__main__":
    sayHello()
    sayHello()
    hello_time()

相关文章

网友评论

      本文标题:Python自定义装饰器

      本文链接:https://www.haomeiwen.com/subject/qlzhqhtx.html