如何在python函数中返回多个可选值?
我有一个函数,它应该返回至少一个输出,并且应该根据我设置标志的方式返回可选值。例如:如何在python函数中返回多个可选值?,python,Python,我有一个函数,它应该返回至少一个输出,并且应该根据我设置标志的方式返回可选值。例如: def foo(a, b, f1=False, f2=False, f3=False): c = a + b if f1: d = a - b elif f2: e = a * b elif f3: f = a / b if f1: return c, d elif f2: retu
def foo(a, b, f1=False, f2=False, f3=False):
c = a + b
if f1:
d = a - b
elif f2:
e = a * b
elif f3:
f = a / b
if f1:
return c, d
elif f2:
return c, e
elif f3:
return c, f
elif f1 and f2:
return c, d, e
elif f1 and f3:
return c, d, f
elif f2 and f3:
return c, e, f
elif f1 and f2 and f3:
return c, d, e, f
else:
return c
如果我有
f1,f2,…,fn作为输入,我将需要写入2**n
返回。那可能太多了。有没有更好的办法处理?示例代码根据@Tim Roberts的注释进行了更正。按照您的编写方式,您永远不会得到多个结果。将只使用if/elif/elif序列中的一个
def foo(a, b, f1=False, f2=False, f3=False):
answer = [a + b]
if f1:
answer.append( a - b )
if f2:
answer.append( a * b )
if f3:
answer.append( a / b )
return answer
返回列表
?不要写入f1和f2
。这不是C。在Python中,您可以编写f1和f2
。这两者不能互换。@蒂姆·罗伯茨,谢谢。@masklin我仍然需要编写许多if
语句来返回不同的输出