【发布时间】:2020-04-22 13:56:10
【问题描述】:
我正在尝试静态类型一些生产性代码,它看起来像这样的代码 sn-p:
from collections import namedtuple
from typing import Dict, Union, NamedTuple, Any
def read_attr(ident: str, attributes: Union[None, Dict[str, str]]):
tbl_attr = namedtuple('tbl', ['id', 'attr'])
if attributes:
return tbl_attr(id=ident, attr=attributes)
else:
return tbl_attr(id=ident, attr=None)
tbl = read_attr(ident='ID1', attributes={'foo': 'bar'})
print(tbl.attr['foo'])
namedtuble tbl_attr 在函数内创建,应该由其他函数调用。
我的问题是:如何正确输入返回 ->。从我的角度来看,有一些选项,例如 -> object 或 ofc `Any.
【问题讨论】: