[python] 조건문에서의 데코레이터 함수 사용하기

파이썬에서는 데코레이터를 사용하여 함수의 기능을 확장할 수 있습니다. 이번 글에서는 조건문에서 데코레이터 함수를 활용하는 방법을 살펴보겠습니다.

데코레이터 함수란?

데코레이터 함수는 다른 함수를 수정하거나 확장하는 데 사용되는 파이썬의 고급 기능입니다. 함수를 감싸고 다른 함수를 반환하여 기능을 추가하거나 수정할 수 있습니다.

조건문에서 데코레이터 함수 활용하기

아래는 숫자를 입력받아서 홀수인 경우에만 해당 함수를 실행하는 데코레이터 함수를 구현한 예시입니다.

def only_odd_input(func):
    def wrapper(num):
        if num % 2 != 0:
            return func(num)
    return wrapper

@only_odd_input
def process_odd_number(num):
    return f"The number {num} is odd."

print(process_odd_number(3))  # 출력: The number 3 is odd.
print(process_odd_number(4))  # 출력: None

위 코드에서 only_odd_input 데코레이터 함수는 process_odd_number 함수를 감싸서 입력된 숫자가 홀수일 때에만 해당 함수를 실행합니다.

이렇게 함으로써 조건문에서 데코레이터 함수를 활용하여 특정 조건을 만족하는 경우에만 함수를 실행할 수 있습니다.

마무리

이번 글에서는 파이썬의 데코레이터 함수를 활용하여 조건문에서 함수를 실행하는 방법에 대해 살펴보았습니다. 데코레이터 함수는 함수의 기능을 확장하거나 수정하는 데 유용한 기능으로, 조건문을 활용하여 조금 더 다양한 상황에 대응할 수 있도록 도와줍니다.

데코레이터 함수에 대해 더 알아보고 싶다면 Python 공식 문서를 참고할 수 있습니다.