Python打字以返回多个参数类型变量的元组

发布于 2025-01-25 21:19:40 字数 624 浏览 1 评论 0原文

我已经有一个函数,该函数根据其参数收到的类型返回值:

T = TypeVar('T', int, str)

def get(t: Type[T]) -> T: ...

因此,get(int)返回intget(str)返回str

我还有一个版本的get,该版本用于将许多值作为元组获取:

def get_many(*ts: Type[T]):
    return tuple(get(t) for t in ts)

如何注释get_many的返回类型?

需要清楚,get_many(int,str)应返回tuple [int,str]get_many(str,str,str,int)应返回元组[str,str,int]等。

I already have a function that returns a value according to the type it receives as its argument:

T = TypeVar('T', int, str)

def get(t: Type[T]) -> T: ...

So that get(int) returns an int and get(str) returns a str.

I also have a version of get that is used to get many values as a tuple:

def get_many(*ts: Type[T]):
    return tuple(get(t) for t in ts)

How should the return type of get_many be annotated?

To be clear, get_many(int, str) should return tuple[int, str], get_many(str, str, int) should return tuple[str, str, int] and so on.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文