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()以后,

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

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

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

  • 相关阅读:
    20201016---不做清单
    20201014--增删改查
    20201013--什么是真实的自己?
    多态
    继承
    关键字
    分类思想
    常用的linux命令
    九九乘法表
    稀疏数组
  • 原文地址:https://www.cnblogs.com/Sabre/p/8146285.html
Copyright © 2011-2022 走看看