12

고급 타입: Literal, TypeVar, Generic

이 함수 파라미터가 뭐였지? - Type Hints

학습 목표

Literal 타입으로 특정 값만 허용한다 TypeVar로 제네릭 함수를 만든다 Generic으로 타입 안전한 컨테이너를 만든다

Literal: 특정 값만 허용

에디터 로딩 중...

사용 시점:

  • 함수가 특정 문자열 값만 받을 때
  • enum 대신 간단하게 사용

TypeVar: 제네릭 타입 변수

에디터 로딩 중...

제한된 TypeVar

에디터 로딩 중...

Generic: 타입 안전한 컨테이너

에디터 로딩 중...

Callable: 함수 타입

에디터 로딩 중...

타입 정리표

타입용도예시
Literal특정 값만 허용Literal["a", "b"]
TypeVar제네릭 타입 변수T = TypeVar('T')
Generic타입 파라미터 클래스class Box(Generic[T]):
Callable함수 타입Callable[[int], str]
Final재할당 금지MAX: Final = 100
Any모든 타입 허용data: Any
핵심 포인트
  • Literal: 특정 값만 허용 (enum 대용)
  • TypeVar: 제네릭 함수/클래스용 타입 변수
  • Generic[T]: 타입 파라미터화된 클래스
  • Callable[[Args], Return]: 함수 타입