"not not True or False and not True" 的布尔值

Boolean for "not not True or False and not True"

的布尔结果是什么

not not True or False and not True.

我以为是假的,但答案是真的。

not not true or false and not true
|
v
not false or (false and not true)
|
v
true or (...)
|
v
true

您的问题实际上是关于优先级的:not 的优先级高于 or,因此 not not True 首先被评估,如 True。接下来,and的优先级高于or,所以第二个子句可以一起取,但不需要计算,因为True or (anything)True

正如@Damien_The_Unbeliever 指出的那样,并非所有语言都具有相同的优先级规则(例如,Smalltalk 严格从左到右计算表达式。