1. ホーム
  2. python

[解決済み] 名前付きタプルの型ヒント

2022-04-21 22:08:21

質問

次のようなコードを考えてみましょう。

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

上記のコードは、私が何を達成しようとしているのかを示すための単なる方法です。 私が作りたいのは namedtuple をタイプヒントで表示します。

意図したとおりの結果を得るためのエレガントな方法をご存じですか?

解決方法は?

3.6 以降の型付き名前付きタプルの好ましい構文は次のとおりです。

from typing import NamedTuple

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

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

編集 Python 3.7からは dataclasses (IDEは静的型チェックのためにまだサポートしていないかもしれません)。

from dataclasses import dataclass

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

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