gpt4 book ai didi

python - Python函数中返回值的数量不同

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:52 25 4
gpt4 key购买 nike

从 Python 中的函数返回不同数量的返回值是否可以/良好做法?如果是,调用者应该如何处理返回值?例如

def func():
if(condition_1):
return 1,2
if(condition_2):
return 1
if(condition_3):
return 1,2,3,4

注意:condition_1、condition_2 和 condition_3 是函数 func 的局部变量,因此调用者不知道将返回多少个值。

最佳答案

Is it pythonic for a function to return multiple values?对此有很好的解释。

但在您的情况下,这取决于您的用例。如果您知道如何处理返回数据,那么使用它就没有问题。喜欢:

def func():
if(condition_1):
return a,b
if(condition_2):
return (a, )
if(condition_3):
return c,d,e,f
if(condition_4):
return a,b

vals = func()
if len(vals) == 2:
# We are sure that we will get `a,b` in return
do something ...
elif len(vals) == 3:
...

在上面的示例中,将处理 vals 元组的函数知道如何根据某些条件处理返回数据。它有 2 个返回相同数据的 return 可能性!

如果您完全知道如何处理数据,那么可以使用不同数量的返回值。这里的关键点是函数做单一的工作。如果您在识别返回值时遇到问题,那么您的函数不止一项工作,或者您必须避免使用不同数量的参数。

关于python - Python函数中返回值的数量不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703301/

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