Python比较运算符

在本教程中,我们来介绍 Python 中的一种特殊的整数类型——布尔(Boolean)类型。布尔类型只有两个值:True(真)或 False(假)。我们把 True 和 False 叫作布尔值。一个简单的布尔表达式如下所示。

>>> thisIsBool=True
>>> print(thisIsBool)
True

这个示例中,我们创建了一个名为 thisIsBool 的变量,并且把布尔值 True 赋值给它。在下一行中,我们打印这个 thisIsBool 变量,得到的结果是 True。

提示:在所有的高级语言中,都有这么一类叫作布尔类型的变量,这是用乔治•布尔的名字来命名的。

乔治•布尔是19世纪英国最重要的数学家之一,由于他在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。

Python 比较运算符

比较运算符是比较两个值,然后得到一个布尔值。比较运算符包含:==、!=、>、<、>= 和 <=。这些运算符根据为它们提供的值,得到 True 或者 False 作为比较结果。我们具体来看一下这些运算符。

等于(==)

如果==运算符两边的值都一样,那么得到的结果是 True;如果不一样,得到的结果是 False。例如,表达式 42==42 的结果是 True,但是表达式 42==24 的结果是 False。

>>> 42==42
True
>>> 42==24
False

提示:要判断两个值是否相等,记住,要使用两个等号 ==,而不是一个等号 === 表示“两边的值是否相等?”,而 = 表示“把右边的值保存到左边的变量中”。

当使用 = 时,变量名必须放在左边,值必须放在右边。而 == 只是用来比较两个值是否相等,所以值放在哪一边都无所谓。

在表达式 42==42.0 中,虽然两边的类型不同,一个是整数,一个是浮点数,但是其值是相同的,所以结果仍然是 True。

>>> 42==42.00
True


但是表达式 42=="42" 的结果是 False,因为 Python认为整数与字符串是不相同的。

>>> 42=="42"
False


表达式 "Johnson"=="johnson" 的返回值是 False,因为两个字符串的首字母的大小写不同,所以 Python 认为它们是不同的两个字符串。

>>> "Johnson"=="johnson"
False


而表达式 "Johnson"=="Johnson" 的返回值是 True,因为两个字符串完全一样。

>>> "Johnson"=="Johnson"
True

不等于(!=)

和等于运算符==相反的是不等于运算符!=,它是由惊叹号和等号组合而成的,其中惊叹号表示非(或者不、否、反等表示否定的含义),在很多编程语言中都具有相似的含义。

我们可以使用不等于符号!=来判断第 1 个值是否不等于第 2 个值。例如,表达式 42!="42" 的结果是 True,"Johnson"!="johnson" 的结果也是 True。

>>> 42!="42"
True
>>> "Johnson"!="johnson"
True

大于(>)和大于等于(>=)

可以使用大于符号>来判断第 1 个值是否大于第 2 个值。例如,表达式 42>24 是成立的,结果是 True;表达式 42>62 是不成立的,结果是 False。

>>> 42>24
True
>>> 42>62
False


使用大于等于符号>=来判断第 1 个值是否大于等于第 2 个值。如果第 1 个值大于第 2 个值,大于等于符号的结果是 True;如果第 1 个值等于第 2 个值,大于等于符号的结果同样也是 True。

>>> 42>=42
True

小于(<)和小于等于(<=)

和大于运算符>相反的是小于运算符<,和大于等于运算符>=相对应的是小于等于运算符<=。使用小于符号<来判断第 1 个值是否小于第 2 个值;使用小于等于符号<=来判断第 1 个值是否小于等于第 2 个值。具体可以参见如下的几个示例,请留意其比较的结果:

>>> 42<62
True
>>> 42<=42
True
>>> 42<24
False