Counter
새로운 웹 앱을 개발하면서, 각 함수가 몇 번 호출되는지 궁금해졌어요. 그래서 데코레이터를 작성해, 데코레이트하는 각 함수에 호출 카운터를 추가하려고 합니다. 이 정보는 나중에 앱에서 더 이상 사용되지 않는 코드가 있는지 판단해, 제거할 부분을 찾는 데 활용할 수 있어요.
이 연습은 강의의 일부입니다
Python으로 함수 작성하기
연습 안내
- 데코레이트되는 함수를 호출하고 그 결과를 반환하세요.
- 새로 만든 데코레이트된 함수를 반환하세요.
foo()에counter()데코레이터를 적용해 데코레이트하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def counter(func):
def wrapper(*args, **kwargs):
wrapper.count += 1
# Call the function being decorated and return the result
return ____
# Set count to 0 to initialize call count for each new decorated function
wrapper.count = 0
# Return the new decorated function
____
# Decorate foo() with the counter() decorator
____
def foo():
print('calling foo()')
foo()
foo()
print('foo() was called {} times.'.format(foo.count))