Type hints in namedtuple
考虑以下代码:
1 2 | from collections import namedtuple point = namedtuple("Point", ("x:int","y:int")) |
上面的代码只是演示我正在尝试实现什么的一种方法。我想制作带有类型提示的
你知道怎样才能达到预期的效果吗?
您可以使用
从文档
Typed version of
namedtuple .
1 2 | >>> import typing >>> Point = typing.NamedTuple("Point", [('x', int), ('y', int)]) |
这只在3.5以后的Python中存在
自3.6以来,类型化命名元组的首选语法是
1 2 3 4 5 6 7 | from typing import NamedTuple class Point(NamedTuple): x: int y: int = 1 # Set default value Point(3) # -> Point(x=3, y=1) |
编辑从Python3.7开始,考虑使用数据类(您的IDE可能还不支持静态类型检查):
1 2 3 4 5 6 7 8 | from dataclasses import dataclass @dataclass class Point: x: int y: int = 1 # Set default value Point(3) # -> Point(x=3, y=1) |