타입 힌트(type hint)는 「변수·함수의 자료형을 코드에 명시」하는 기능입니다.
Python 3.5에 도입됐고, 코드 가독성·자동 완성·정적 검사에 큰 도움이 됩니다.
강제는 아니지만 모던 파이썬의 표준입니다.
기본 형식.
def greet(name: str) -> str: return f"안녕, {name}".
매개변수에 「: str」, 반환에 「-> str」을 붙이면 됩니다.
변수에도 age: int = 30처럼 명시할 수 있지만, 보통은 함수 시그니처에 가장 자주 씁니다.
복합 타입.
from typing import List, Dict, Optional.
def process(items: List[int]) -> Dict[str, int]: ...
— 정수 리스트를 받아 문자열→정수 딕셔너리 반환.
Optional[int] — int 또는 None.
Python 3.9+에서는 list[int], dict[str, int] 같은 내장 타입을 직접 쓸 수 있습니다.
Union 타입.
Union[int, str] — int 또는 str.
Python 3.10+의 「int | str」 문법이 더 간결합니다.
타입 힌트를 쓰면 「이 함수가 무엇을 받고 무엇을 반환하는지」가 한눈에 명확해집니다.
타입 힌트는 「실행 시 강제되지 않습니다」.
잘못된 타입을 넘겨도 파이썬이 오류를 안 냅니다.
그래서 「mypy」, 「pyright」 같은 별도 정적 검사 도구를 쓰는 게 표준입니다.
VS Code의 Pylance(pyright 기반)는 코드 작성 중 즉시 타입 오류를 잡아 줘 매우 유용합니다.
한 줄 요약
타입 힌트는 함수·변수에 자료형을 명시하는 기능으로, 가독성·자동 완성·정적 검사에 큰 도움이 됩니다.
실행 시 강제되지 않으므로 mypy·pyright 같은 도구로 검사합니다.
더 알아볼 것
- Generic·TypeVar — 제네릭 타입
- Protocol — 덕 타이핑에 타입 힌트
- mypy 사용법