zoukankan      html  css  js  c++  java
  • Python装饰函数

    from time import ctime, sleep
    
    def tsfunc(func):
        def wrappedFunc():
            print('[%s] %s() classed' % (ctime(),func.__name__))
            print("先执行装饰器")
            return func()
        print("this is tsfunc")
        return wrappedFunc
    
    @tsfunc
    def foo():
        print("this is foo")
    
    @tsfunc
    def foo2():
        print("this is foo2")
    
    
    
    
    foo();
    foo2();

    运行结果

    this is tsfunc
    this is tsfunc
    [Fri Dec 29 20:48:34 2017] foo() classed
    先执行装饰器
    this is foo
    [Fri Dec 29 20:48:34 2017] foo2() classed
    先执行装饰器
    this is foo2
    [Finished in 0.2s]

    调用foo()以后,

    装饰器中的语句先执行了。

    然后开始调用内部函数,执行内部函数的语句

    然后开始执行被装饰函数的语句

  • 相关阅读:
    每天一个命令
    2017-2-21
    egrep []+ 和awk总结
    ifconfig eth0 取行取列
    stat /etc/hosts 取行取列644
    压缩解压缩
    目录
    公告
    To do list
    CSP 2019 游记
  • 原文地址:https://www.cnblogs.com/Sabre/p/8146285.html
Copyright © 2011-2022 走看看