布尔值显示为整数

boolean values show as ints

什么决定结果是“1”还是结果 'True'。知道它们的意思相同,但为什么 shell?

中的输出不同

not 无论如何都会产生一个布尔值,但是 andor 总是计算出它们的参数之一。

x and y 等同于 y if x else x.

x or y 等同于 x if x else y.

从测试表达式中得到 int 还是 bool 取决于 ands 和 ors select 是原始整数值还是布尔值由 not 制作。例如,你的 a or not b or (not a and b) and (b or a) 测试发现 a1,这是真的,所以第一个 or 立即 returns 1 没有评估任何东西在右侧。