파이썬 - 타입 힌트(Type Hint)

Type Hint


파이썬은 대표적인 동적 타이핑 언어이다. 변수에 대한 타입을 지정해주지 않아도 잘 동작한다는 의미이다.
하지만 PEP484에 파이썬에도 타입을 지정할 수 있는 타입힌트가 추가 되었다. 해당 기능은 파이썬 v3.5이상부터 가능하다.

예를 들어 sum()함수를 만든다고 가정해보자.

# 기존 방법
def sum(a, b):
	return a + b

기존의 타입힌트를 사용하지 않는 파이썬 함수는 전체적인 흐름을 파악하지 않는다면 파라미터 a와 b에 어떤 값을 넘겨주어야 하는지 알 수 없었다.

또한 훗날 파이썬을 이용한 프로젝트의 규모가 커지게 되면 가독성을 떨어뜨리게 되면서 버그를 만들어 낼 수 있는 문제점이 있다.

하지만 타입힌트를 사용하면 해당 내용을 쉽게 알 수 있다.

# 타입 힌트 적용
def sum(a:int, b:int) -> int:
	return a + b

int a와 b를 넣어주면 return 값으로 int가 온다는 것을 빠르게 알 수 있다.

이처럼 타입 힌트를 선언하게 되면 가독성이 좋아지면서 버그 발생 확률을 줄일 수 있다. 하지만 강제 규약은 아닌 관계로 사용자의 자율에 맡기고 있다. 또한 타입힌트를 사용하면서 아래와 같이 실수를 하면 안된다.

a: str = 1

a는 1이라는 정수가 들어갔는데 타입힌트를 str로 주는 이런 초보적인 실수를 하면 경을 칠 것이다.:)

타입힌트가 제대로 들어갔는지 도와주는 모듈도 있다. mypy 라는 패키지인데, pip로 install을 진행해서 사용할 수 있다. 사용하는 순서는 아래와 같다.

  1. pip install mypy
  2. mypy 검사하고싶은_파일.py or 검사하고싶은_폴더(디렉토리)

타입힌트가 잘못 지정된 코드는 Incompatible return value type 오류가 발생한다.

좋은 웹페이지 즐겨찾기