파이썬 타입힌트

Leejaegun·2025년 4월 22일

Python & etc

목록 보기
21/27

📘 기본 타입 힌트

타입 힌트의미예시
int정수age: int = 25
float실수score: float = 92.5
bool불리언is_valid: bool = True
str문자열name: str = "Alice"
list / List[T]리스트values: List[int] = [1, 2, 3]
dict / Dict[K, V]딕셔너리info: Dict[str, int] = {"a": 1}
tuple / Tuple[T1, T2]튜플coord: Tuple[int, int] = (3, 4)
set / Set[T]집합nums: Set[int] = {1, 2, 3}

List, Dict, Tuple 등은 from typing import ... 필요


🔀 복합 타입 힌트

타입 힌트의미예시
Union[A, B]A 또는 B 중 하나x: Union[int, str] = 42 or "hi"
Optional[T]T 또는 Nonex: Optional[int] = NoneUnion[int, None]
Any아무 타입이나 허용data: Any
Literal[...]정해진 값만 허용x: Literal["small", "medium", "large"]
Callable[[ArgTypes], ReturnType]함수 타입 지정func: Callable[[int, str], bool]
Type[T]클래스 자체 타입 (인스턴스 아님)model_cls: Type[BaseModel]
Annotated[T, ...]추가 메타정보x: Annotated[int, "positive"]

🧩 예제 코드

from typing import List, Dict, Union, Optional, Callable

# Union: int or str
def process_id(id: Union[int, str]) -> None:
    print(f"ID: {id}")

# Optional: may be None
def greet(name: Optional[str] = None) -> str:
    return f"Hello, {name or 'Guest'}"

# Callable: 함수 타입
def apply_func(func: Callable[[int, int], int], a: int, b: int) -> int:
    return func(a, b)

# List[float]
scores: List[float] = [98.5, 76.0, 88.5]

# Dict[str, int]
mapping: Dict[str, int] = {"a": 1, "b": 2}
profile
Lee_AA

0개의 댓글