gpt4 book ai didi

python - 相同类型的多个参数的类型提示?

转载 作者:行者123 更新时间:2023-12-02 07:18:13 24 4
gpt4 key购买 nike

是否有其他方法可以输入相同类型的提示参数,除了:

def foobar(a: int, b: int, c: int, d: str): ...

也许是这样的:

def foobar([a, b, c]: int, d: str): ...

显然是概念性的,但可以减少重复的类型提示

最佳答案

我所知道的唯一方法是以某种方式“打包”参数。

由于 var-args 的工作方式,您可以稍微改变一下顺序并将参数作为 var-args:

def foobar(d: str, *args: int): …

args 现在保存 abc(以及传递的其他内容)。

同样,您可以传入一个列表:

from typing import List

def foobar(args: List[int], d: str): …

本质上与上面相同。

当然,这些都带有严重缺点,即您不再能够静态检查数量;可以说,这比无法静态检查类型更糟糕。

您可以通过使用元组来确保长度来稍微解决这个问题:

from typing import Tuple

def foobar(args: Tuple[int, int, int], d: str): …

但是,当然,这与原始代码一样重复(并且需要将参数打包到元组中),因此实际上没有任何好处。

我不知道有什么“安全”的方法可以做到你真正想做的事。

关于python - 相同类型的多个参数的类型提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com