다음 코드를 고려하십시오.
from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))
위의 코드는 내가 달성하고자하는 바를 보여주는 방법 일뿐입니다. namedtuple
타입 힌트 로 만들고 싶습니다 .
의도 한대로 결과를 얻는 방법을 알고 있습니까?
답변
3.6 이후 형식화 된 명명 된 튜플에 대해 선호되는 구문은 다음과 같습니다.
from typing import NamedTuple
class Point(NamedTuple):
x: int
y: int = 1 # Set default value
Point(3) # -> Point(x=3, y=1)
편집
Python 3.7부터 사용을 고려 dataclasses
하십시오 (IDE가 아직 정적 유형 검사를 지원하지 않을 수 있음).
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int = 1 # Set default value
Point(3) # -> Point(x=3, y=1)
답변
당신이 사용할 수있는 typing.NamedTuple
문서에서
버전 입력 된 의를
namedtuple
.
>>> import typing
>>> Point = typing.NamedTuple("Point", [('x', int), ('y', int)])
이것은 Python 3.5 이상에서만 존재합니다.