infer - python typed variables
Escriba sugerencias en namedtuple (2)
Considere la siguiente pieza de código:
from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))
El Código anterior es solo una forma de demostrar lo que estoy tratando de lograr.
Me gustaría hacer
namedtuple
con sugerencias de tipo.
¿Conoces alguna forma elegante de lograr el resultado previsto?
La sintaxis preferida para una tupla con nombre escrita desde 3.6 es
from typing import NamedTuple
class Point(NamedTuple):
x: int
y: int = 1 # Set default value
Point(3) # -> Point(x=3, y=1)
Editar
Iniciando Python 3.7, considere usar
dataclasses
(es posible que su IDE aún no las admita para la verificación de tipos estáticos):
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int = 1 # Set default value
Point(3) # -> Point(x=3, y=1)
Puedes usar
typing.NamedTuple
De los documentos
Versión escrita de
namedtuple
.
>>> import typing
>>> Point = typing.NamedTuple("Point", [(''x'', int), (''y'', int)])
Esto está presente solo en Python 3.5 en adelante