在Python中,一个函数可以返回多种类型,例如,在下面的示例中,a
是str
,b
是int
和 c
是 List[int]
def test():
return 'abc', 100, [0, 1, 2]
a, b, c = test()
print(a)
# abc
print(b)
# 100
print(c)
# [0, 1, 2]
所以函数签名就变成了,
def test() -> Tuple[str, int, List[int]]:
在这种情况下,如何指定接收值的变量类型?
假设我应该能够指定它,如下所示,但这是不可能的。
a: str, b: int, c: List[int] = test()
唯一可行的替代方案如下所示,
ret: Tuple(str, int, List[int]) = test()
但是随后我需要将元组解包为多个变量,然后我们又回到了第一个方,因为我们无法指定这些变量的类型。
我错过了什么?
最佳答案
使用类型提示怎么样?
(
a, # type: str
b, # type: int
c, # type: List[int]
) = test()
无论如何,即使没有在最终变量中明确指定类型,类型也应该足够智能以推断出正确的类型。
关于python-3.x - 函数返回多种类型时如何指定变量的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74667417/