回答:
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以降にのみ存在します
GeoPoint = NamedTuple('GeoPoint', [('longitude', float), ('latitude', float)])
私は、データがされて必要なキーと値を含む辞書であるGEO = GeoPoint(**データ)してみてくださいdecimal.Decimal
、とフロートへのキャストは起こりません。(何typerrorをいずれかを:( :(ので、どのように、これはtyping.NamedTuple
作品参照してください?要旨を.github.com / andilabs / 15002176b2bda786b9037077fa06cc71