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?
The prefered Syntax for a typed named tuple since 3.6 is
from typing import NamedTuple class Point(NamedTuple): x: int y: int = 1 # Set default value Point(3) # -> Point(x=3, y=1)
Edit Starting Python 3.7, consider using Data Classes (your IDE may not yet support them for static type checking):
from dataclasses import dataclass @dataclass class Point: x: int y: int = 1 # Set default value Point(3) # -> Point(x=3, y=1)