Python中的链式比较
- 2020-09-14 17:19:00
- 六月
- 来源:
- https://www.jianshu.com/p/83636d193588
- 转贴 638
遇到一个问题:请问 1 == 2 < 3的值是多少? 答案是:False
解析:注意,这个 链式比较,拆出来是 1 == 2 and 2 < 3,而不是先 (1 == 2) < 3,得到的是两个截然不同的结果。
什么是链式比较?从名字上应该也能猜个差不多。
a < b < c 这就是链式比较。
a < b > c 这也是链式比较。
看起来跟我们之前数学中学的没什么区别。
其实Python的链式比较还是跟我们的认知有一些区别的。
比如上面的例子。a < b < c转化为a < b and b < c,a < b > c转化为a < b and b > c。
也就是分别比较a、b和b、c。两边都为True时才为True,一边或两边为False时就为False。
虽然跟我们之前的认知稍有区别,但是也是非常容易理解的。唯一需要注意一下的就是:
a < b == c
它们之间是比较关系,所以等号要用==来表示。以上就是链式比较的全部内容。
我们再看一个例子:
'a' > 'b' or 'c'我们转化为'a' > 'b' and 'b' or 'c' 得到的结果是: 'c'
参考: https://blog.csdn.net/qq_38188725/article/details/80630751