import functools
def log1(function):
def wrapper(*args, **kwargs):
print("log1 wrapper befor: %s() is called" % function.__name__)
func = function(*args, **kwargs)
print("log1 wrapper afer: %s() is called" % function.__name__)
return func
return wrapper
def log2(desc):
def decrator(function):
def wrapper(*args, **kwargs):
print("log1 wrapper befor: %s() is called" % function.__name__)
func = function(*args, **kwargs)
print("log1 wrapper afer: %s() is called" % function.__name__)
return func
return wrapper
return decrator
def log3(desc):
def decrator(function):
@functools.wraps(function)
def wrapper(*args, **kwargs):
print("log1 wrapper befor: %s() is called" % function.__name__)
func = function(*args, **kwargs)
print("log1 wrapper afer: %s() is called" % function.__name__)
return func
return wrapper
return decrator
@log1
@log2
@log3
def test_func(say_somting):
print("execute test_func and you say: %s" % say_somting)
if __name__ == "__main__":
test_func("Hello World!")
近期评论