我想定义一个函数,使返回值在不同情况下具有不同的类型。
仍然,我想在函数签名中包含一个指示,它返回某物。
我知道一种实现方法,就是使用Union
,例如:
from typing import Union
def f(x: int) -> Union[str, int]:
return x if x > 0 else "this is zero"
但就我而言,我手边没有可能的输出类型列表。
我尝试使用:
def f(x: int) -> object:
return some_other_func(x)
问题是,现在当我尝试使用此功能时,IDE会告诉我输入错误:
y: SomeClass = f(42)
Error: Expected type 'SomeClass', got 'object' instead
那么-如何在函数签名中指示f
返回的是 some 值,而不指示该值的 type ?
答案 0 :(得分:0)
在typing documentation中,可以使用Any
,例如:
from typing import Any
def f(x: int) -> Any:
return some_other_func(x)