问题:在namedtuple中输入提示
考虑以下代码:
from collections import namedtuple
point = namedtuple("Point", ("x:int", "y:int"))
上面的代码只是演示我正在尝试实现的方法。我想namedtuple
使用类型提示。
您知道如何以一种优雅的方式达到预期效果吗?
回答 0
从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)
回答 1
您可以使用 typing.NamedTuple
来自文档
类型版本的
namedtuple
。
>>> import typing
>>> Point = typing.NamedTuple("Point", [('x', int), ('y', int)])
仅在Python 3.5及更高版本中存在
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。