import functools
print("第一回合".center(30,"*"))
def func():
print("我是func函数")
value = (11,22,33,44)
return value
def outer(origin):
def inner():
print("before")
res = origin()
print("after")
return res
return inner
func = outer(func)
result = func()
print(result)
print("第二回合".center(30,"*"))
#
# python内部会自动执行函数名(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
result = func()
print(result)
print("第三回合".center(30,"*"))
def outer(origin):
@functools.wraps(origin)
def inner(*args,**kwargs):
print("before")
res = origin(*args,**kwargs)
print("after")
return res
return inner
@outer # func = outer(func)
def func1(a1):
print("我是func1函数")
value = (11,22,33,44)
return value
@outer # func = outer(func)
def func2(a1,a2):
print("我是func2函数")
value = (11,22,33,44)
return value
@outer # func = outer(func)
def func3(a1):
print("我是func3函数")
value = (11,22,33,44)
return value
func1(1)
func2(11,22)
func1(999)