def get(
ids: str | list[str] | int | list[int],
) -> float | list[float]:
有没有办法在返回值注释中指定仅当输入float
是
ids
或
str
的列表时才输出
int
的列表?
@overload
装饰器创建 2 个额外的函数签名,一个用于返回
int | str
的
float
,另一个用于返回
list[str] | list[int]
的
list[float]
,然后具有实际的函数定义,例如你现在有了。
from typing import overload
@overload
def test(
ids:str | int,
) -> float:...
@overload
def test(
ids:list[str] | list[int],
) -> list[float]:...
def test(
ids: str | list[str] | int | list[int],
) -> float | list[float]:...