본문 바로가기
카테고리 없음

파이썬 데코레이터 Decorator 사용법

by 퍼포먼스마케팅코더 2023. 8. 11.
반응형

물론이죠! 데코레이터에 대한 자세한 설명과 예제를 아래에 제공하겠습니다.

데코레이터(Decorator)란?

데코레이터는 파이썬의 고급 기능 중 하나로, 기존의 함수나 메서드에 추가 기능을 부여하기 위해 사용합니다. 데코레이터는 함수를 인자로 받아 새로운 함수를 반환하며, @ 기호를 사용하면 기존 함수에 쉽게 적용할 수 있습니다.

데코레이터의 작동 원리

  1. 함수를 인자로 받음: 데코레이터는 다른 함수를 인자로 받습니다.
  2. 새로운 함수를 반환: 데코레이터 내부에서 새로운 함수를 정의하고 반환합니다.
  3. 원래 함수의 기능 보존: 데코레이터는 원래 함수의 기능을 그대로 유지하면서 새로운 기능을 추가합니다.

데코레이터 예시

아래의 코드는 간단한 데코레이터의 예시입니다.

def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")  # 함수 호출 전 출력
        func()
        print("Something is happening after the function is called.")   # 함수 호출 후 출력
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()

출력 결과

Something is happening before the function is called.
Hello!
Something is happening after the function is called.

정리

  • 함수 변경: 데코레이터를 사용하면 원래 함수를 변경하지 않고 새로운 기능을 추가할 수 있습니다. 이를 통해 코드의 재사용성과 유지 보수가 용이해집니다.
  • @ 기호 사용: @ 기호는 데코레이터를 적용하기 위한 문법 설탕(syntactic sugar)으로, 데코레이터 함수를 직접 호출하는 것보다 코드를 간결하게 만듭니다.

데코레이터는 로깅, 권한 확인, 캐싱 등 다양한 상황에서 유용하게 사용될 수 있으며, 파이썬 웹 프레임워크에서도 자주 활용됩니다.

반응형

댓글