2

我有一个 Python 函数,它返回一个带有布尔值和字符串的元组

def check_something():
    # ...
    return bool_value, str_messsage 

有没有办法可以在if使用布尔值的语句中使用此函数的输出并将字符串值分配给if语句中的变量

if not check_something():
    # ...
4

1 回答 1

15
if (result := check_something())[0]:
    var = result[1]

这使用了“海象运算符”,这是 Python 3.8 中引入的新语法。你可以在这里阅读。

对于 Python <= 3.7,您必须包含额外的一行:

bool_val, str_message = check_something()
if bool_val:
    var = str_message
于 2021-06-24T20:15:03.430 回答