是否可以使用条件表达式进行多项赋值?

Is it possible to make multiple assignments using a conditional expression?

示例如下:

age = 10
reject = False

if age < 10:
    st = 'Kid'
    reject = True

else:
    st='Adult'
    reject = False

可能吗?类似于:

statement1:statement2 if age < 10 else statement3:statment4

我仍然无法理解 Python 中的三元运算符。

赋值语句支持multiple targets:

>>> age = 10
>>> st, reject = ('Kid', True) if age < 10 else ('Adult', False)
>>> st, reject
('Adult', False)

你可以这样做:

st, reject = ('Kid', True) if age < 10 else ('Adult', False)

您可以使用:

st, reject = ('Kid', True) if age < 10 else ('Adult', False)

当您使用时:

var1, var2 = 1, 2

您正在做与以下相同的事情:

var1 = 1
var2 = 2

当你使用:

var1 = 1 if x == y else 2

您的操作与以下操作相同:

if x == y:
    var1 = 1
else:
    var1 = 2

如果你想用这个定义多个变量,你必须用变量创建一个元组 () 并且它们将被解压。