如何对多个可能的参数类型使用stringliteral类型注释?

2024-04-23 10:31:47 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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)

如果我们使用字符串文字,它的等价物是什么?有没有语法允许我在如此复杂的情况下使用字符串文字?你知道吗


Tags: 对象字符串fromtyping类型参数returnfoo