布尔值显示为整数
boolean values show as ints
什么决定结果是“1”还是结果 'True'。知道它们的意思相同,但为什么 shell?
中的输出不同
not
无论如何都会产生一个布尔值,但是 and
和 or
总是计算出它们的参数之一。
x and y
等同于 y if x else x
.
x or y
等同于 x if x else y
.
从测试表达式中得到 int 还是 bool 取决于 and
s 和 or
s select 是原始整数值还是布尔值由 not
制作。例如,你的 a or not b or (not a and b) and (b or a)
测试发现 a
是 1
,这是真的,所以第一个 or
立即 returns 1
没有评估任何东西在右侧。
什么决定结果是“1”还是结果 'True'。知道它们的意思相同,但为什么 shell?
中的输出不同not
无论如何都会产生一个布尔值,但是 and
和 or
总是计算出它们的参数之一。
x and y
等同于 y if x else x
.
x or y
等同于 x if x else y
.
从测试表达式中得到 int 还是 bool 取决于 and
s 和 or
s select 是原始整数值还是布尔值由 not
制作。例如,你的 a or not b or (not a and b) and (b or a)
测试发现 a
是 1
,这是真的,所以第一个 or
立即 returns 1
没有评估任何东西在右侧。