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)

From: stackoverflow.com/q/34269772

Back to homepage or read more recommendations: