데코레이터 정의하기
동료가 데코레이트된 함수가 호출되기 전에 "before" 메시지를, 호출된 후에 "after" 메시지를 출력하는 데코레이터를 만들고 있어요. 하지만 데코레이트된 함수를 어떻게 감싸야 하는지 기억이 잘 나지 않는다고 하네요. print_before_and_after() 데코레이터를 완성해 도와주세요.
이 연습은 강의의 일부입니다
Python으로 함수 작성하기
연습 안내
- 데코레이트되는 함수를 호출하고 위치 인자
*args를 전달하세요. - 새로 데코레이션된 함수를 반환하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)