decorator

YU NA Joe·2022년 3월 11일
0
# 데코레이터함수?! 함수를 꾸며주는 함수?

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()

  결과는?! 
  함수시작
  안녕하세요 
  함수 끝

0개의 댓글