Python3-函数签名指示返回值,但未指定类型

时间:2019-04-08 12:32:47

标签: python-3.x signature typing

我想定义一个函数,使返回值在不同情况下具有不同的类型。

仍然,我想在函数签名中包含一个指示,它返回某物

我知道一种实现方法,就是使用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

1 个答案:

答案 0 :(得分:0)

typing documentation中,可以使用Any,例如:

from typing import Any

def f(x: int) -> Any:
    return some_other_func(x)
相关问题