gpt4 book ai didi

python - 函数返回元组或 None : how to call that function nicely?

转载 作者:太空狗 更新时间:2023-10-29 17:22:38 25 4
gpt4 key购买 nike

假设如下:

def MyFunc(a):
if a < 0:
return None
return (a+1, a+2, a+3)

v1, v2, v3 = MyFunc()
# Bad ofcourse, if the result was None

定义一个返回元组但又可以很好调用的函数的最佳方法是什么。目前,我可以这样做:


r = MyFunc()
if r:
v1, v2, v3 = r
else:
# bad!!
pass

我不喜欢的是我必须使用单个变量然后解压它。

另一个解决方案是我可以让函数返回一个全是 Nones 的元组,这样调用者就可以很好地解包....

谁能提出更好的设计建议?

最佳答案

如何引发一个ArgumentError?然后你可以尝试调用它,如果参数错误则处理异常。

所以,像这样:

try:
v1, v2, v3 = MyFunc()
except ArgumentError:
#deal with it

另请参阅 katrielalex's answer用于使用 ArgumentError 的子类。

关于python - 函数返回元组或 None : how to call that function nicely?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3448701/

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