programing

튜플을 풀 때 힌트를 입력하시겠습니까?

goodsources 2023. 5. 11. 21:25
반응형

튜플을 풀 때 힌트를 입력하시겠습니까?

튜플을 풀 때 타입 힌트를 사용할 수 있습니까?나는 이것을 하고 싶지만, 그것은 결과적으로.SyntaxError:

from typing import Tuple

t: Tuple[int, int] = (1, 2)
a: int, b: int = t
#     ^ SyntaxError: invalid syntax

PEP-0526에 따르면, 당신은 먼저 유형에 주석을 달아야 하고, 그 다음에 포장을 풀어야 합니다.

a: int
b: int
a, b = t

저의 경우에는 다음을 사용합니다.typing.casthint 압축 풀기 작업을 입력하는 함수입니다.

t: tuple[int, int] = (1, 2)
a, b = t

# type hint of a -> Literal[1]
# type hint of b -> Literal[2]

를 사용하여cast(new_type, old_type)당신은 그 추악한 리터럴들을 정수로 캐스팅할 수 있습니다.

from typing import cast

a, b = cast(tuple[int, int], t)

# type hint of a -> int
# type hint of b -> int

이 기능은 Numpy NDAray를 사용하여 작업할 때 유용합니다.Unknown종류들

# type hint of arr -> ndarray[Unknown, Unknown]

a, b = cast(tuple[float, float], arr[i, j, :2]

# type hint of a -> float
# type hint of b -> float

언급URL : https://stackoverflow.com/questions/52082939/type-hints-when-unpacking-a-tuple

반응형