Programming 기초/Python

function wrappers와 decorator

코딩상륙작전 2024. 12. 3. 04:48

1. function wrappers 

함수를 감싸서 추가적인 기능을 더하거나, 함수의 동작을 변경하거나 확장하는 기법이다. 주로 데코레이터(decorator)를 사용해 구현되며, 함수 호출 전후에 실행될 동작을 정의한다.

 

2. decorator

데코레이터는 Python에서 기존 함수나 메서드의 동작을 변경하거나 확장하기 위해 사용되는 특별한 함수이다. 

  • 데코레이터는 함수를 인수로 받아 그 함수를 감싸는 새로운 함수를 반환한다. 이 과정에서 기존 함수의 동작을 확장하거나 수정할 수 있다.

 

def my_wrapper(func):
    def wrapped_function(*args, **kwargs):
        print("Function is about to run!")
        result = func(*args, **kwargs)
        print("Function has finished!")
        return result
    return wrapped_function

@my_wrapper
def say_hello(name):
    print(f"Hello, {name}!")

say_hello("Alice")