12분
고급 타입: Literal, TypeVar, Generic
이 함수 파라미터가 뭐였지? - Type Hints
고급 타입: Literal, TypeVar, Generic
Python 고급: 제너레이터, 데코레이터, 컨텍스트 매니저, Type Hints > 이 함수 파라미터가 뭐였지? - 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]: 함수 타입