比较运算符也称为关系运算符,用于比较常量、变量或表达式的结果,例如大小、真假。如果比较结果为真,则返回True;否则,它返回 False。 Python中的不等号写成!=,是一种运算符
下面程序示范了比较运算符的基本用法:
In [1]: 4 != 5
Out[1]: True
In [2]: a = 'python'
In [3]: b = 'python'
In [4]: a != b
Out[4]: False
比较运算符 == 和 is 的区别
如果你是 Python 新手,你可能对 is 不熟悉。很多人把它误认为是==的作用,但其实is和==本质上是不同的,根本不是一回事。
==用于比较两个变量的值是否相等,而用于比较两个变量是否引用同一个对象,例如:
import time
# 获取当前时间
a = time.gmtime()
b = time.gmtime()
print(a == b) # a和b两个时间相等,输出True
print(a is b) # a和b不是同一个对象,输出False
上面代码中的a和b这两个变量都代表当前系统时间,所以a和b这两个变量的时间值是相等的(代码运行速度很快,可以保证是相同的时间),所以程序使用“==”判断Return True。但是由于 a 和 b 这两个变量引用了不同的对象(每次调用 gmtime() 函数返回一个不同的对象),a is b 返回 False。
那么,如何判断两个变量是否属于一个对象呢? Python提供了一个全局的id()函数,如果两个对象位于同一个地方,可以通过该函数来判断变量所引用的对象的内存地址(相当于该对象在计算机内存中的存储位置的门牌号)内存地址(相当于因为他们住在同一个房间,而计算机的同一个内存在任何时候只能存储一个对象),就意味着这两个对象实际上是同一个对象。
可以看出,通过id()函数计算两个对象时,其实是需要is判断返回相同的地址。例如,使用 id() 函数来判断上面的两个变量 a 和 b:
print(id(a))
print(id(b))
从运行结果中将会看到 a、b 两个变量所引用的对象的内存地址是不同的,这样通过 is 来判断 a、b 两个变量自然也就输出 False 了。
再举一个例子:
>>> a = 'cheesezh'
>>> b = 'cheesezh'
>>> id(a)
2680257978480
>>> id(b)
2680257978480
>>> a is b
True
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中print函数输出中sep和end的区别08/27
- ♥ python编程如何打出根号08/25
- ♥ 如何使用 Python 拆分和合并文件01/02
- ♥ python中的请求是什么09/01
- ♥ python如何运行js文件?10/16
- ♥ 如何在python中设置参数的范围09/01
内容反馈