请考虑以下代码:
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,考虑使用数据类(您的IDE可能尚不支持它们进行静态类型检查):
from dataclasses import dataclass @dataclass class Point: x: int y: int = 1 # Set default value Point(3) # -> Point(x=3, y=1)
您可以使用 typing.NamedTuple
来自文档
类型版本的
namedtuple
.
>>> import typing >>> Point = typing.NamedTuple("Point", [('x', int), ('y', int)])
这只出现在Python 3.5之后