美文网首页
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