Considérez le morceau de code suivant:
from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))
Le code ci-dessus n'est qu'un moyen de démontrer ce que j'essaie d'accomplir. Je voudrais faire namedtuple
avec des indices de type.
Savez-vous comment obtenir un résultat comme prévu?
python
python-3.x
type-hinting
namedtuple
python-dataclasses
Pavel Hanpari
la source
la source
Réponses:
La syntaxe préférée pour un tuple nommé typé depuis 3.6 est
Edit À partir de Python 3.7, envisagez d'utiliser
dataclasses
(votre IDE peut ne pas encore les prendre en charge pour la vérification de type statique):la source
Vous pouvez utiliser
typing.NamedTuple
À partir des documents
Ceci n'est présent que dans Python 3.5 et les versions ultérieures
la source
GeoPoint = NamedTuple('GeoPoint', [('longitude', float), ('latitude', float)])
alors j'essaie geo = GeoPoint (** data) où les données sont dict contenant les clés et les valeurs nécessairesdecimal.Decimal
, et aucune conversion à flotter ne se produit; (aucune erreur de type non plus :( :( alors comment celatyping.NamedTuple
fonctionne? Voir l' essentiel .github.com / andilabs / 15002176b2bda786b9037077fa06cc71