# 데코레이터함수?! 함수를 꾸며주는 함수?
def print_hello():
print("안녕하세요!")
def add_print_to(original): # 함수를 parameter로 받는다
def wrapper():
print("함수시작")
original()
print("함수 끝")
return wrapper
add_print_to(print_hello)
# print_hello가 original에 대입되는 것이다.
# 아무것도 출력이 되지 않는다.
# wny? wrapper 함수를 리턴하면서 끝나는데 함수는 () 을 넣어줘야 된다
add_print_to(print_hello)()
# 위의 껄 예쁘게? 고쳐보자
Hello = add_print_to(print_hello)
Hello()
__________________________________________________________
def add_print_to(original):
def wrapper():
print("함수시작")
original()
print("함수 끝")
return wrapper
@add_print_to # print_hello() 함수를 add_print_to로 꾸며준다.
def print_hello():
print("안녕하세요!")
print_hello()
결과는?!
함수시작
안녕하세요
함수 끝