在 python 中,x = y == "true" 的计算顺序是什么

In python, in what order would x = y == "true" evaluate

我遇到过有人将一些变量 x 分配给另一个变量 y,然后是 == "true"。

如果 y 等于“真”,我是否将 x 设置为等于 y?

如果只是 x = y = z,我会假设 x 和 y 都被设置为 z 的值。但是条件之外的 == 正在抛出我

如果按照运算符优先级加括号更明显:

x = (y == "true")

y == "true" 是一个计算结果为 bool 的表达式,因此它将是 TrueFalse。然后将该值分配给 x.

或者更多的话:

if y == "true":
    x = True
else:
    x = False

x = something 将值“something”赋值给 x。如果 y 的值等于“something”,则 y == something 计算为 True,如果 y 不等于“False”,则计算为 Falsesomething”。

因此,x = y == "true" 表示“如果 y 等于字符串 "true",则将 x 设置为 True。否则设置 xFalse".