Decorator(데코레이터)

@로 시작하는 것들이 데코레이터

@데코레이터
def 함수이름():
    코드

여러개 가능, 위에서 아래로 실행
데코레이터는 기존 함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용
그리고 반복적인 작업을 데코레이터로 선언해서 사용가능
->가독성, 직관성이 좋아짐!

def decorator(func):
    def wrapper(*args, **kwargs):
        print('Hello~')	             [1]
        print(func(*args, **kwargs))
        print('GoodBye~')	         [2]
    return wrapper

@decorator
def myFunc():
    return 'What is your name?       [3]
    
[1]->[3]->[2]    
Hello~              #출력
What is your name?  #출력
GoodBye~            #출력
    
    

파이썬 데코레이터를 배워야 하는 5가지 이유?

좋은 웹페이지 즐겨찾기