파이썬은 동적으로 타입이 결정되는 언어이지만, 함수의 파라미터와 반환 값에 대한 타입을 명시적으로 지정할 수 있습니다. 이는 코드를 더욱 명확하고 안정적으로 만들어줍니다.
파라미터의 타입 어노테이션
함수의 파라미터에 타입을 명시하기 위해서는 파라미터 이름 뒤에 콜론(:)을 붙이고 타입을 지정하면 됩니다. 예를 들어, 정수형을 받는 함수의 경우 아래와 같이 작성할 수 있습니다.
def add(a: int, b: int) -> int:
return a + b
위 예제에서 a: int
와 b: 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
일 수 있다는 것을 나타냅니다.
타입 어노테이션의 활용
타입 어노테이션을 활용하면 코드의 가독성을 높이고 협업 시의 오류를 줄일 수 있습니다. 또한, 타입 힌트를 통해 코드 에디터가 코드 완성 기능을 더욱 정확하게 지원할 수 있습니다.
결론
파이썬은 동적 타입 언어이지만, 타입 어노테이션을 통해 함수의 파라미터와 반환 값에 대한 타입을 명시적으로 지정할 수 있습니다. 이를 통해 코드의 가독성을 높이고 안정성을 더욱 확보할 수 있습니다.
참고: 파이썬 타입 어노테이션 가이드