比较运算符,顾名思义,它用于对常量、变量或表达式的结果进行大小、是否相同的比较。比较的结果为 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 比较的是两个变量的存储单元内存地址是否相同。
我们举个例子:
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