Decorator란?
특정 함수를 실행하기 전에 강제적으로 다른 함수가 먼저 실행되도록 하는 기능으로 특정 함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용한다.
def is_paid_user(func): # 호출할 함수를 매개변수로 받음
user_paid = True
def wrapper(): # 호출할 함수를 감싸는 함수
if user_paid:
func() # 매개변수로 받은 함수 호출
else:
return
return wrapper
@is_paid_user # 데코레이터 지정
def jackpot_stock_information(): # 함수가 호출되면 파이썬이 아래와 같이 변환해서 호출
코드 # decorated_function = is_paid_user(jackpot_stock_information)
# decorated_function()