== 或 != 在链式比较中有用吗?
Is there a use for == or != in chained comparisons?
我遇到了这个问题:
Why does the expression 0 < 0 == 0 return False in Python?
一旦您理解了 Python 中的链式比较,答案就非常有意义了。
链式比较允许您编写类似 0 < x < 100
的内容,这对于测试是否介于 0 和 100 之间非常方便。但是在某些情况下使用 [=11 甚至有意义吗? =] 或 !=
在比较的两边?例如,0 < x == 100
相当于 x == 100
。
是否将 ==
和 !=
包含在链接语法中只是为了让它们不必成为规则的例外,或者是否存在实际用例?
链接 ==
最常见的用例是将它与自身链接起来。 x == y == z
是测试三件事是否相等的简单方法。
在比较链中使用 !=
偶尔也有用,但往往不太清楚。 0 < x != 10
比0 < x and x != 10
更简洁,但是这两个比较感觉不像x == y == z
那么像一个大比较,而且x != y != z
通常是一个错误。
我遇到了这个问题:
Why does the expression 0 < 0 == 0 return False in Python?
一旦您理解了 Python 中的链式比较,答案就非常有意义了。
链式比较允许您编写类似 0 < x < 100
的内容,这对于测试是否介于 0 和 100 之间非常方便。但是在某些情况下使用 [=11 甚至有意义吗? =] 或 !=
在比较的两边?例如,0 < x == 100
相当于 x == 100
。
是否将 ==
和 !=
包含在链接语法中只是为了让它们不必成为规则的例外,或者是否存在实际用例?
链接 ==
最常见的用例是将它与自身链接起来。 x == y == z
是测试三件事是否相等的简单方法。
在比较链中使用 !=
偶尔也有用,但往往不太清楚。 0 < x != 10
比0 < x and x != 10
更简洁,但是这两个比较感觉不像x == y == z
那么像一个大比较,而且x != y != z
通常是一个错误。