소스 형식의 가능한 값이 대상 형식에 할당될 수 없는 경우, `typing.cast` 호출을 보고합니다. 이를 "겹치지 않는" 유형이라고 할 수 있습니다.

이는 보통 오류를 나타냅니다. 변환이 의도적인 경우 의도를 명확히 하기 위해 먼저 표현식을 공통 상위 유형으로 변환하십시오.

예:


from typing import cast

# 겹치지 않는 유형 — 실수일 가능성이 높음
cast(int, "a")          # 'str' -> 'int'
cast(list[int], ["a"])  # 'list[str]' -> 'list[int]'

# 권장되는 명확한 탈출구는 "더블 캐스트" 사용
cast(int, cast(object, "a"))  # ok

# 합법적인 겹치는 경우
cast(int, object())    # 유효한 다운 캐스트
cast(object, 1)        # 유효한 업 캐스트

# 다음은 list가 불변이기 때문에 유효하지 않은 캐스트입니다. 이 검사는 현재 지원되지 않습니다
int_list = [1, 2, 3]
cast(list[object], int_list)

검사는 정적 유형 정보를 기반으로 합니다; 유형이 알려지지 않은 경우 경고가 보고되지 않습니다. 일반 유형의 분산은 아직 고려되지 않았습니다.