PHpullh

PYTHON · 기초 문법

타입 별칭

Python 3.10+의 TypeAlias와 3.12+의 type 문으로 복잡한 타입에 별칭을 부여합니다.

기초 문법고급TypeAliastype타입 별칭typing

핵심 설명

Python 3.10+의 TypeAlias와 3.12+의 type 문으로 복잡한 타입에 별칭을 부여합니다.

Python code

from typing import TypeAlias

# Python 3.10+ TypeAlias
Vector: TypeAlias = list[float]
Matrix: TypeAlias = list[Vector]

# 복잡한 타입에 별칭 부여
JsonValue: TypeAlias = (
    str | int | float | bool
    | None | list["JsonValue"]
    | dict[str, "JsonValue"]
)

def scale(v: Vector, factor: float) -> Vector:
    return [x * factor for x in v]

def transpose(m: Matrix) -> Matrix:
    return [list(row) for row in zip(*m)]

# Python 3.12+ type 문 (더 간결)
# type Point = tuple[float, float]
# type Callback = Callable[[int], str]

v: Vector = [1.0, 2.0, 3.0]
print(scale(v, 2))  # [2.0, 4.0, 6.0]

학습 팁

타입 별칭은 복잡한 제네릭 타입을 읽기 쉽게 만들어 코드 리뷰 시 이해도를 높입니다.

주의할 점

단순 할당 Vector = list[float]은 런타임에 실제 리스트를 만들 수 있으므로 TypeAlias를 명시하세요.

자주 묻는 질문

타입 별칭란 무엇인가요?

Python 3.10+의 TypeAlias 와 3.12+의 type 문으로 복잡한 타입에 별칭을 부여합니다.

타입 별칭 학습 시 주의할 점은 무엇인가요?

단순 할당 Vector = list[float] 은 런타임에 실제 리스트를 만들 수 있으므로 TypeAlias 를 명시하세요.

Continue Learning

Python 학습을 이어가세요

총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.