if x == y != z:
print (x + y)
这是if x == y和y!= z的缩写吗?它适用于我的代码,但我不确定当多个条件不是全部==或!=时会如何解释它们,或者以上面的后一种形式写出来。
答案 0 :(得分:5)
(...)
比较可以任意链接,例如,
x < y <= z
等同于x < y and y <= z
,但y
仅评估一次(但在这两种情况下,z
在x < y
被发现为假时都不会被评估。
所以你可以链接任何类型的比较器:<
,>
,==
,>=
,<=
,<>
,{{ 1}},!=
和is [not]
。
文档进一步使其更正式:
正式,如果 a , b , c ,..., y , z 是表达式, op1 , op2 ,..., opN 是比较运算符,然后
[not] in
等效于a op1 b op2 c ... y opN z
,但每个表达式最多只评估一次。
例如:
a op1 b and b op2 c and ... y opN z
相当于:
'a' in 'ab' in 'zabc'