파이썬 타입 어노테이션은 변수, 함수 매개변수, 함수 반환 값 등의 코드 요소에 예상 데이터 유형을 지정해주는 주석 또는 힌트이다. 이것은 Python 3.5 버전부터 도입된 기능으로, 코드의 가독성을 향상시키고 타입 관련 오류를 사전에 예방하는 데 사용된다. 타입 어노테이션은 주석 스타일로 작성되며 콜론(:)을 사용하여 변수 또는 함수의 이름과 데이터 유형을 구분한다.
예제 코드 1
my_variable:int = 30
print(my_variable)
30
실행 결과
my_variable은 정수형(int) 변수로 어노테이션 되었다. 이것은 해당 변수가 정수 값을 저장할 것으로 예상되며, 코드의 가독성을 향상시킬 수 있다.
예제 코드 2
def add(a:int, b:int) -> int:
return a + b
print(add(29,1))
30
실행 결과
위의 예제는 add()라는 함수의 매개변수 a와 b는 정수형(int)으로 받을 것이며 ->의 의미는 add() 함수가 반환하는 값은 정수형(int)이라는 의미이다.
예제 코드 3
name:str = 29
print(name)
29
실행 결과
타입 어노테이션으로 name:str = 29와 같이 선언해도 오류가 발생하지 않는다. 이것은 선택적으로 사용되며, 엄격한 타입 검사를 강제하지 않는다는 점을 기억하자.
타입 어노테이션의 주요 목적
목적
내용
가독성 향상
코드의 유지보수 및 이해가 쉬워진다. 다른 개발자가 코드를 읽을 때 변수 및 함수의 예상 데이터 유형을 파악하기 유용하다.
문서화
코드의 의도를 문서화하고 코드 리뷰 및 API 설계 과정에서 유용한 정보를 제공한다.
타입 검사
타입 어노테이션을 사용하면 타입 검사 도구를 통해 코드에 타입 관련 오류가 있는지 사전에 확인할 수 있다. 이는 코드의 신뢰성을 향상시키고 버그를 줄일 수 있다.
자동 문서 생성
타입 어노테이션은 자동 문서 생성 도구를 사용하여 API 문서를 생성하는 데 활용될 수 있다.
마무리로, 파이썬은 여전히 동적 타이핑 언어로서, 타입 어노테이션은 코드 실행에는 영향을 미치지 않는다. Python의 동적 타이핑 특성은 유연성을 제공하며, 타입 어노테이션은 코드의 가독성과 유지보수성을 향상사키는 도구로 활용된다.