python3之数字(在实际应用中的数字--比较:一般的和连续的)
-------------
一般的比较就像我们所期待的那样,它们比较操作数的相对大小,并且返回一个布尔类型的结果,如例:
>>>1<2
True
>>>2.0>=1
True
>>>2.0==2.0
True
>>>2.0!=2.0
False
再次注意:数字表达式中是如何允许混合类型的(2.0>=1,这里整数向浮点数进行了转换)
有趣的是,python还允许我们把多个比较连续起来执行范围测试。连续的比较是更大的布尔表达式的缩写。简而言之,python允许我们把大小比较测试连接起来,成为诸如范围测试的连续比较。例如,表达式(A<B<C)测试B是否在A和C之间;它等同于布尔测试(A<B and B<C),如例:
>>>X=2
>>>Y=4
>>>Z=6
如下的两个表达式具有相同的效果,但是,
第一个表达式简单而便于录入,并且,由于python只需要计算Y一次,它运行起来可能略快一点:
>>>X<Y<Z
True
>>>X<Y and Y<Z
True
获得False结果也是一样的,并且
允许任意的连续长度:
>>>X<Y>Z
False
>>>X<Y and Y>Z
False
>>>1<2<3.0<4
True
>>>1>2>3.0>4
False
我们
可以在连续测试中使用其他的比较,但是,最终的表达式
可能变得很晦涩,除非你
按照python的方式来计算它们。如例:
>>>1==2<3 #等同于:1==2 and 2<3
False
python并不会把1==2的False的结果和3进行比较,这样做的话,在技术上的含义和0<3相同,将会得到True(我们将在后面了解到,
True与False只不过定制为1和0)。