比较运算符也称为关系运算符,用于比较常量、变量或表达式的结果,例如大小、真假。如果比较结果为真,则返回True;否则,它返回 False。 Python中的不等号写成!=,是一种运算符
下面程序示范了比较运算符的基本用法:
比较运算符 == 和 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 tkinter 中使用登录按钮?11/15
- ♥ 如何更改python的默认路径09/30
- ♥ 如何在python中对数字进行排序?10/30
- ♥ 如何在python面向对象中实现类?12/29
- ♥ Python 检查列表中的元素是否存在09/19
- ♥ 如何在python3中使用pip09/26
内容反馈