type infer check python python-3.x python-3.5 type-hinting namedtuple python-dataclasses

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