首页 > 解决方案 > 如何在 Python 中的 IF 语句中从多个返回值中检查变量之一的值

问题描述

有谁知道,如何在单个 IF 语句中从多个返回值函数中检查变量 a == 0 的值,如下所示,

if (a, b, c = some_function()) == 0: #currently it is wrong
    ...
    ...
else:
    ...
    ...

def some_function():
    return 0, 123, "hello"

标签: pythonif-statementmultiple-return-values

解决方案


首先将返回值解包到变量中,然后检查变量的值。

您可以_用作变量名来指示该值未使用。

a, _, _ = some_function()
if a == 0:
    # ...

或者,如果您以后根本不需要访问任何返回值,则可以使用索引:

if some_function()[0] == 0:
    # ...

但这不太可读,因为您无法为返回值命名以记录它们的含义。

使用"walrus operator" 很诱人:=,但它不支持可迭代解包(在第一个示例中使用)。


推荐阅读