Python 为什么这个 if 语句 returns 为真?

Python why this if statement returns True?

我想知道为什么 return是真的:

if False or True and True == True and (False == True or False == (not True)) or False and False and True:
    pass

最后不接受"and False"部分为False吗? 不是所有带有“和”的语句 return 都是正确的吗?

开始于:

False or True and True == True and (False == True or False == (not True)) or False and False and True

先解决括号:

(False == True or False == (not True))

先解决括号 - not TrueFalse:

(False == True or False == False)

下一个操作顺序:==:

((False == True) or (False == False))

导致:

((False) or (True))

下一个操作顺序:or:

(True)

现在我们有:

False or True and True == True and (True) or False and False and True

下一个操作顺序:==:

False or True and (True == True) and True or False and False and True

导致:

False or True and (True) and True or False and False and True

下一个操作顺序:and:

False or ((True and True) and True) or ((False and False) and True)

导致:

False or ((True) and True) or ((False) and True)

然后:

False or (True) or (False)

现在 or 运算符:

((False or True) or False)

然后:

((True) or False)

结果是 True 因为 True or FalseTrue.