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

Der*_*1st -2 python if-statement

我遇到过有人将某个变量 x 分配给另一个变量 y 的情况,然后是 ==“true”。

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

如果只是 x = y = z,我会假设 x 和 y 都被设置为 z 的值。但是条件之外的 == 让我很困惑

sch*_*ggl 6

如果根据运算符优先级添加括号会更明显:

x = (y == "true")
Run Code Online (Sandbox Code Playgroud)

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

或者用更多的话来说:

if y == "true":
    x = True
else:
    x = False
Run Code Online (Sandbox Code Playgroud)