[python] 파라미터와 반환 값의 타입 어노테이션

파이썬은 동적으로 타입이 결정되는 언어이지만, 함수의 파라미터와 반환 값에 대한 타입을 명시적으로 지정할 수 있습니다. 이는 코드를 더욱 명확하고 안정적으로 만들어줍니다.

파라미터의 타입 어노테이션

함수의 파라미터에 타입을 명시하기 위해서는 파라미터 이름 뒤에 콜론(:)을 붙이고 타입을 지정하면 됩니다. 예를 들어, 정수형을 받는 함수의 경우 아래와 같이 작성할 수 있습니다.

def add(a: int, b: int) -> int:
    return a + b

위 예제에서 a: intb: int는 각각 정수형을 나타내며, -> int는 함수의 반환 값이 정수형임을 나타냅니다.

반환 값의 타입 어노테이션

함수의 반환 값에 대한 타입을 명시하기 위해서는 파라미터 목록 다음에 콜론(:)을 붙이고 반환 값의 타입을 지정하면 됩니다. 위 예제에서 보았던 것처럼 -> int를 사용하여 정수형을 반환한다는 것을 명시할 수 있습니다.

예외 처리와 타입 어노테이션

예외를 발생시키는 함수의 경우, 반환 값의 타입으로 None 또는 특정한 타입을 지정할 수 있습니다. 또한, Optional을 이용하여 반환 값이 None일 수 있는 경우에도 타입을 명시할 수 있습니다.

from typing import Optional

def find_element(arr: list, target: int) -> Optional[int]:
    try:
        return arr.index(target)
    except ValueError:
        return None

위 예제에서 Optional[int]는 반환 값이 정수형 또는 None일 수 있다는 것을 나타냅니다.

타입 어노테이션의 활용

타입 어노테이션을 활용하면 코드의 가독성을 높이고 협업 시의 오류를 줄일 수 있습니다. 또한, 타입 힌트를 통해 코드 에디터가 코드 완성 기능을 더욱 정확하게 지원할 수 있습니다.

결론

파이썬은 동적 타입 언어이지만, 타입 어노테이션을 통해 함수의 파라미터와 반환 값에 대한 타입을 명시적으로 지정할 수 있습니다. 이를 통해 코드의 가독성을 높이고 안정성을 더욱 확보할 수 있습니다.

참고: 파이썬 타입 어노테이션 가이드