🎀 데코레이터란?
데코레이터(Decorator) = 다른 함수에 기능을 추가하는 함수
- 원래 함수를 바꾸지 않고
- 실행 전후에 기능을 덧붙이기 위해 씀!
바로 예시로 알아보자
def decorator_function(original_function):
def wrapper_function():
print("함수 실행 전 🎬")
original_function()
print("함수 실행 후 🎉")
return wrapper_function
@decorator_function
def say_hello():
print("안녕~ 👋")
say_hello()
함수 실행 전 🎬
안녕~ 👋
함수 실행 후 🎉
Sum.
@decorator_function | 데코레이터 함수 붙이는 문법 |
wrapper_function | 기존 함수 감싸는 함수 |
original_function() | 원래 우리가 부르고 싶은 함수 |
- 기존 함수의 내용에 앞,뒤로 기능을 덧붙일수 있음
🌟 데코레이터 언제 쓰냐?
- ✅ 공통기능 추가 (ex. 로깅, 인증 체크, 타이머 등)
- ✅ 코드 재사용성 ↑
- ✅ 함수 수정 없이 기능 덧붙이기 가능!
가장 적합한 예시
🧪 예시: 실행 시간 측정 데코레이터
import time
def timer_decorator(func):
def wrapper():
start = time.time()
func()
end = time.time()
print(f"⏱ 걸린 시간: {end - start:.2f}초")
return wrapper
@timer_decorator
def slow_function():
time.sleep(2)
print("느린 함수 끝~ 🐢")
slow_function()
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Syntax] 예외처리 , try/except/finally/assert (0) | 2023.05.31 |
---|---|
파이썬 프로토타입 라이브러리_streamlit _ (0) | 2023.02.27 |
파라미터 config 폴더로 관리하기(argparse, yaml) 이용 (0) | 2022.02.17 |
'\n'개행변수 삭제 (0) | 2021.01.25 |
f string 소수점 표기 법 print(f'{loss :.2f}') (0) | 2020.10.22 |