Python/중급/Lesson 12
데코레이터 (Decorator)
1시간·theory
이 챕터
4/8
Python
데코레이터 (Decorator)
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ 함수가 함수를 반환하는 고차 함수 원리
- ▸✅ @decorator 문법 + functools.wraps 의 이유
- ▸✅ @lru_cache · @property · @staticmethod 활용
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
데코레이터 — 코드 + 실행 결과
@decorator = 함수를 감싸서 기능 추가. 로깅·캐싱·인증 같은 공통 처리 분리.
1. 가장 단순한 데코레이터
@로그 = 더하기 = 로그(더하기) 와 동일.
2. 실행 시간 측정
3. 인자 받는 데코레이터
4. 자주 쓰는 빌트인 데코레이터
@property (getter), @staticmethod, @classmethod 도 클래스에서 자주.
한 줄 요약
🐍 실행해보기 — 데코레이터 (Decorator)
위 개념을 실제로 코드로 실행해보세요. 값을 바꿔가며 어떻게 동작하는지 직접 확인하는 게 가장 빠른 학습.
✏️ Python 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
🐍 Pyodide로 실제 Python 실행 — 첫 실행 시 로딩 3~5초 소요
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 함수에 functools.lru_cache 데코레이터 적용해줘"
- ▸"타이밍·로깅 데코레이터를 functools.wraps 사용해서 만들어줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: 제너레이터
다음 추천: with 문 — 자원 자동 정리