if x == y != z:
print (x + y)
这是 if x == y and y != z 的简写吗?它在我的代码中有效,但我不确定当多个条件不都是 == 或 != 时如何解释,或者以上面的后一种形式写出。
是的,如中所述文档:
(...)
比较可以是任意链接, e.g., x < y <= z
相当于x < y and y <= z
, 除了那个y
仅评估一次(但在两种情况下z
当x < y
发现是假的)。
所以你可以链接任何类型的比较器:<
, >
, ==
, >=
, <=
, <>
, !=
, is [not]
, and [not] in
.
该文档进一步使其更加正式:
正式来说,如果a, b, c, ..., y, z是表达式和op1, op2, ..., opN是比较运算符,那么a op1 b op2 c ... y opN z
相当于a op1 b and b op2 c and ... y opN z
,但每个表达式最多计算一次。
例如:
'a' in 'ab' in 'zabc'
相当于:
'a' in 'ab' and 'ab' in 'zabc'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)