#コード
def print_more(func):
def wrapper(*args, **kwargs):
print('asdf')
result = func(*args, **kwargs)
print('result', result)
return result
return wrapper
def print_info(func):
def wrapper(*args, **kwargs):
print('start')
result = func(*args, **kwargs)
print('end')
return result
return wrapper
@print_info
@print_more
def add_num(a, b):
return a + b
r = add_num(10, 20)
print(r)
#実行結果
start
asdf
result 30
end
30
#解説
上記の
@print_info
@print_more
def add_num(a, b):
return a + b
r = add_num(10, 20)
print(r)
は、
f = print_info(print_more(add_num))
r = f(10, 20)
print(r)
してるのと同じ。