美文网首页
Python-装饰器

Python-装饰器

作者: miraclehen | 来源:发表于2018-11-27 17:22 被阅读8次

    以装饰一个函数为例子, 打印出函数的开始执行时间。

    常规方式实现:

    import time
    
    
    def printTime(func):
        def wrapper(*args, **kwargs):
            print(time.ctime())
            return func(*args, **kwargs)
    
        return wrapper
    
    
    def printHello(name):
        print('Hello', name)
    
    
    if __name__ == '__main__':
        printhello_plus = printTime(printHello)
        printhello_plus('Sam')
    
    

    输出:

    Tue Nov 27 17:12:10 2018
    Hello Sam
    

    装饰器方式实现:

    import time
    
    
    def printTime(func):
        def wrapper(*args, **kwargs):
            print(time.ctime())
            return func(*args, **kwargs)
    
        return wrapper
    
    
    @printTime
    def printhello(name):
        print('Hello', name)
    
    
    if __name__ == '__main__':
        printhello('Sam')
    
    

    输出:

    Tue Nov 27 17:21:13 2018
    Hello Sam
    

    相关文章

      网友评论

          本文标题:Python-装饰器

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