如何对多个可能的参数类型使用字符串文字类型注释?

时间:2019-05-20 10:18:26

标签: python type-annotation

我们可以将对象用作类型注释:

def foo(a: int) -> str:
    return str(a)

我们还可以使用字符串文字作为类型注释:

def foo(a: "int") -> "str":
    return str(a)

但是,在更复杂的情况下(例如,当我们接受多个参数类型时)如何使用字符串文字呢?如果我使用对象,我会这样做:

from typing import Union

def foo(a: Union[int, str]) -> str:
    return str(a)

如果我们使用字符串文字,那相当于什么?是否有语法允许我在如此复杂的情况下使用字符串文字?

1 个答案:

答案 0 :(得分:1)

您仍然只是在引号周围加上

from typing import Union

def foo(a: "Union[int, str]") -> "str":
    return str(a)