如何使用返回两个变量的函数来执行IF?

时间:2014-01-16 09:22:33

标签: python if-statement

我的意思是,如果我有这样的功能:

def example(foo, bar)
    ...
    return False, True

如何比较2回报?

if example(foo, bar):

我知道我可以这样做:

bool1, bool2 = example(foo,bar)
if bool1 and bool2:
    ...

但是,我可以比较其中的2个而不将它们放在变量中吗?

4 个答案:

答案 0 :(得分:4)

使用all

if all(example(foo, bar)):
    # do something

如果您只需要一个阳性结果,则可以使用any

答案 1 :(得分:2)

这取决于您要检查的内容。如果您可以将它们发送到另一个函数来进行检查,它将无需变量即可运行。如果你想检查它们是否为True,请说如下:

if all(example()):
    ...
其中一个

any()

但是如果你想要将它们相互比较,你可以调用该函数两次:

if example()[0] == example()[1]:

这通常是不可取的。所以我只是使用变量。

答案 2 :(得分:2)

只需使用

if (True, True) == example(foo, bar):

答案 3 :(得分:0)

使用所有命令:

if all(example(foo,bar)):
    # All returned values are True