关键词

Python 比较运算符

比较运算符

比较运算符,顾名思义,它用于对常量、变量或表达式的结果进行大小、是否相同的比较。比较的结果为 bool 类型,如果结果成立,则返回 True(真),反之则返回 False(假)。

以下是 Python 所有的比较运算符。

比较运算符 说明
> 大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
< 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
== 等于,如果==两边的值相等,则返回 True,否则返回 False。
>= 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<= 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!= 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

其中,>、<、==、>=、<=、!=这几种运算符很好理解,与数学中的比较符含义相同。

而is、is not运算符参与比较的所谓的引用的对象指的是什么呢?可能初学者难以理解,接下来我们将讲解 == 与 is 的区别,当您理解之后,自然明白 != 与 is not之间的区别了。

== 和 is 的区别

我们在学习变量的存储机制时了解到,变量是存储在内存的存储单元中的,存储单元由类型、值、内存地址(也称为标识)组成的。

那么 == 和 is 的区别,简单来说,== 比较的是两个变量的存储单元中值是否相等,而 is 比较的是两个变量的存储单元内存地址是否相同。

我们举个例子:

a='Python技术站'
b='Python技术站'

print(a==b)
print(a is b)

print(f'变量a的内存地址:{id(a)},变量b的内存地址:{id(b)}'))

运行结果:

由此例子可以看到,由于变量a和b的值都是'Python技术站',值相同,所以用 == 比较的结果是 True。

由于变量a和b存储的内存地址不同,所以使用 is 比较的结果是 False。

Python有个函数 id() ,可以输出变量的内存地址,我们分别打印变量a和b的地址如下:

print(id(a))
print(id(b))

输出结果:

可以看到,变量a和b的内存地址是不同的。

本文链接:http://task.lmcjl.com/news/3696.html

展开阅读全文