考虑以下代码:
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)
https://stackoverflow.com/questions/34269772/