반응형
Python의 TypeHinting 튜플
다음과 같이 Python에서 튜플을 입력하고 싶을 때:
def func(var: tuple[int, int]):
# do something
func((1, 2)) # would be fine
func((1, 2, 3)) # would throw an error
튜플에 있는 항목의 정확한 개수를 제공해야 합니다.이는 목록 유형 힌트와 다릅니다.
def func(var: list[int]):
# do something
func([1]) # would be fine
func([1, 2]) # would also be fine
func([1, 2, 3]) # would also be fine
그것은 결과적으로, 어떤 면에서, 튜플의 종류 때문입니다.그것들은 변경되지 않도록 설계되었기 때문에, 당신은 그 안에 있는 항목의 양을 하드 코딩해야 합니다.
그래서 제 질문은 튜플 타입 힌트의 항목 수를 유연하게 만드는 방법이 있을까요?저는 그런 것을 시도했지만 효과가 없었습니다.
def func(var: tuple[*int]):
예, 튜플 유형 힌트의 항목 수를 유연하게 설정할 수 있습니다.
from typing import Tuple
def func(var: Tuple[int, ...]):
pass
문서에서: https://docs.python.org/3/library/typing.html#typing.Tuple
동종 유형의 변수 길이 튜플을 지정하려면 리터럴 생략형을 사용합니다.
Tuple[int, ...]
평원Tuple
와 동등합니다.Tuple[Any, ...]
그리고 차례로tuple
.
PEP 585부터는 내장 타이핑을 사용할 수 있습니다.typing
모듈, 그러니까 파이썬 3.9부터 시작해서,Tuple[...]
을 위해 더 이상 사용되지 않습니다.tuple[...]
.예.
def func(var: tuple[int, ...]):
pass
언급URL : https://stackoverflow.com/questions/47533787/typehinting-tuples-in-python
반응형
'programing' 카테고리의 다른 글
ASP.NET에서 파일 경로를 URL로 변환하는 방법 (0) | 2023.08.23 |
---|---|
Mariadb 쿼리 utf8 이스케이프 문자열 (0) | 2023.08.23 |
JS를 통해 트윗 다시 렌더링 버튼 (0) | 2023.08.23 |
잔가지 템플릿에서 모든 변수를 검색하는 방법은 무엇입니까? (0) | 2023.08.23 |
어떻게 "순서별" 필터링 순서 (0) | 2023.08.23 |