Pavel Hanpari Pavel Hanpari - 3 months ago 25
Python Question

Type hints in namedtuple

Consider following piece of code:

from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))


The Code above is just a way to demonstrate as to what I am trying to achieve.
I would like to make
namedtuple
with type hints.

Do you know any elegant way how to achieve result as intended?

Answer

You can use typing.NamedTuple

From the docs

Typed version of namedtuple.

>>> import typing
>>> Point = typing.NamedTuple("Point", [('x', int), ('y', int)])

This is present only in Python 3.5 onwards