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

发表评论
评论通过审核后显示。