python3 - type hint list python




Digite dicas em namedtuple (2)

Considere o seguinte trecho de código:

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

O código acima é apenas uma maneira de demonstrar o que estou tentando alcançar. Eu gostaria de fazer o namedtuple com dicas de tipo.

Você conhece alguma maneira elegante de como alcançar o resultado pretendido?


A sintaxe preferida para uma tupla denominada digitada desde a 3.6 é

from typing import NamedTuple

class Point(NamedTuple):
    x: int
    y: int = 1  # Set default value

Point(3)  # -> Point(x=3, y=1)

Edit Iniciando o Python 3.7, considere o uso de dataclasses (seu IDE pode ainda não suportá-los para verificação de tipo estático):

from dataclasses import dataclass

@dataclass
class Point:
    x: int
    y: int = 1  # Set default value

Point(3)  # -> Point(x=3, y=1)

Você pode usar a typing.NamedTuple

Dos docs

Versão digitada do namedtuple .

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

Isso está presente apenas no Python 3.5 em diante





python-dataclasses