▶️12

인자를 받는 데코레이터: 3중 중첩의 비밀

반복되는 로깅 코드가 지겨워 - 데코레이터

학습 목표

인자 있는 데코레이터의 구조를 이해한다 3중 중첩 함수 패턴을 파악한다 @retry(max_attempts=3) 같은 패턴을 구현한다

▶️

영상 준비 중

12

인자 있는 데코레이터

"@retry(max_attempts=3)처럼 옵션을 줄 수 있는 데코레이터는 어떻게 만들까?"

구조 비교

에디터 로딩 중...

시각화

에디터 로딩 중...

@repeat(3)의 실행 과정

에디터 로딩 중...

실제 구현 예제

에디터 로딩 중...

핵심 인사이트

"인자 있는 데코레이터 = 데코레이터를 반환하는 함수"

핵심 포인트
  • 인자 있는 데코레이터 = 3중 중첩
  • @decorator(args) = func = decorator(args)(func)
  • 옵션은 클로저로 wrapper에서 접근
  • 실용 예: @retry(3), @cache(maxsize=100)