gpt4 book ai didi

python - 什么时候应该在设计 Python API 时使用可变参数?

转载 作者:行者123 更新时间:2023-12-04 13:45:30 24 4
gpt4 key购买 nike

关于何时应该在 API 中使用可变参数函数签名而不是将可迭代对象传递给函数,是否有一个好的经验法则? (“varargs”是“variadic”或“variable-number-of-arguments”的缩写;即 *args )

例如,os.path.join有一个可变参数签名:

os.path.join(first_component, *rest) -> str

min允许:
min(iterable[, key=func]) -> val
min(a, b, c, ...[, key=func]) -> val

any/ all只允许一个迭代:
any(iterable) -> bool

最佳答案

当您希望用户将参数列表指定为调用站点的代码或具有单个值是常见情况时,请考虑使用可变参数。当您希望您的用户从其他地方获取参数时,请不要使用可变参数。如有疑问,请不要使用可变参数。

使用您的示例,os.path.join 最常见的用例是具有路径前缀并将文件名/相对路径附加到其上,因此调用通常看起来像 os.path.join(prefix, some_file)。另一方面,any() 通常用于处理数据列表,当您知道所有不使用 any([a,b,c]) 的元素时,您使用 a 或 b 或 c。

关于python - 什么时候应该在设计 Python API 时使用可变参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1136673/

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