2

我们可以使用对象作为类型注解:

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)

如果我们使用字符串文字,这相当于什么?有没有一种语法允许我在这种复杂的情况下使用字符串文字?

4

1 回答 1

2

你仍然只是在它周围加上引号:

from typing import Union

def foo(a: "Union[int, str]") -> "str":
    return str(a)
于 2019-05-20T11:05:30.527 回答