Python中支持一种特殊语法,在某个函数上方使用:
@函数名
def xxx():
pass
函数内部回自动执行 函数名(xxx),执行完以后,再将结果赋值给xxx。
xxx = 函数名(xxx)
def outer(origin):
def inner():
print('before')
res = origin()
print('after')
return res
return inner
@outer # func = outer(func)
def func():
print('我是func函数')
value = (11,22,33,44)
return value
func()
out:
before
我是func函数
after
(11, 22, 33, 44)
def dec(func):
def inner():
print('函数执行之前')
res = func()
print('函数直性之后')
return res
return inner
@dec
def func1():
print('我是func1函数')
value = (11,22,33,44)
return value
@dec
def func2():
print('我是func2函数')
value = (11,22,33,44)
return value
@dec
def func3():
print('我是func3函数')
value = (11,22,33,44)
return value
def func():
print(func1())
print(func2())
print(func3())
if __name__ == '__main__':
func()
可用于打印日志。