Python 타입 힌트에서 tuple, list, dict
Python에서 타입 힌트(Type Hint)는 코드의 가독성과 안정성을 높여주는 도구입니다.특히 tuple, list, dict처럼 자료형 컨테이너의 타입 힌트를 쓸 때는 갯수 제약이 어떻게 적용되는지를 정확히 아는 게 중요합니다.
이번 글에서는 아래 세 가지를 기준으로 비교해보겠습니다:
- tuple[타입1, 타입2, ...]
- list[타입]
- dict[KeyType, ValueType]
✅ 1. tuple: 갯수 중요
def get_user() -> tuple[str, int]:
return ("Alice", 30)
- 이 함수는 두 개의 값을 반환합니다.
- 첫 번째는 str, 두 번째는 int
- 갯수까지 정확히 맞아야 합니다
❌ 예외 발생 예시
get_user() # ('Alice', 30, 'extra') → 타입 검사기에서 오류
가변 길이 튜플도 가능
def get_scores() -> tuple[int, ...]:
return (100, 90, 80)
- tuple[int, ...]는 모든 요소가 int이고 갯수는 자유입니다.
- (1,), (1, 2, 3) 모두 허용됨
✅ 2. list: 갯수 상관없음
def get_names() -> list[str]:
return ["Alice", "Bob", "Charlie"]
- 모든 요소가 str 타입이면 갯수는 제한이 없습니다.
- 빈 리스트도 OK, 100개도 OK
[] ✅ OK
["Alice"] ✅ OK
["Alice", "Bob", "Charlie"] ✅ OK
✅ 3. dict: 갯수 전혀 신경 안 씀
def get_user_ages() -> dict[str, int]:
return {
"Alice": 30,
"Bob": 25
}
- 키는 str, 값은 int
- 갯수는 0개든 100개든 상관 없음
{} ✅ OK
{"Alice": 30} ✅ OK
{"A": 1, "B": 2, "C": 3} ✅ OK
🔄 요약 표
타입 힌트 | 갯수 제약 | 설명 |
tuple[int, str] | ✅ 있음 | 정해진 갯수와 순서 |
tuple[int, ...] | ❌ 없음 | 모든 요소가 int, 길이는 자유 |
list[str] | ❌ 없음 | str 요소만 있으면 됨 |
dict[str, int] | ❌ 없음 | 키: str, 값: int, 갯수 무관 |
반응형
'웹 개발 > 🐍 Python' 카테고리의 다른 글
Airflow를 활용한 postgresql 자동 파티션 생성 스케줄링 (0) | 2025.07.02 |
---|---|
Python 자주 쓰는 예외 클래스 (1) | 2025.07.01 |
Python 정규표현식 re.match 사용법 (1) | 2025.07.01 |
Python 타입 힌트 (0) | 2025.07.01 |
리스트 컴프리헨션(list comprehension) (1) | 2025.06.30 |