시작하기무료로 시작하기

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))
코드 편집 및 실행