Python装饰函数
from time import ctime, sleepdef 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 tsfuncthis 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()以后,
装饰器中的语句先执行了。
然后开始调用内部函数,执行内部函数的语句
然后开始执行被装饰函数的语句
以上是 Python装饰函数 的全部内容, 来源链接: utcz.com/z/389026.html