比较运算符,又称关系运算符,用于比较常量、变量或表达式的结果,如大小、真或假等,如果比较结果为真,则返回True;否则,它返回 False。下面的程序演示了比较运算符的基本用法:
>>> print("5是否大于 4:", 5 > 4)
5是否大于 4: True
>>> print("3的4次方是否大于等于90.0:", 3 ** 4 >= 90)
3的4次方是否大于等于90.0: False
>>> print("20是否大于等于20.0:", 20 >= 20.0)
20是否大于等于20.0: True
>>> print("5和5.0是否相等:", 5 == 5.0)
5和5.0是否相等: True
>>> print("True和False是否相等:", True == False)
True和False是否相等: 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上下文管理器的基本介绍12/24
- ♥ python3.6有几个版本?09/22
- ♥ python如何表示范围08/30
- ♥ 如何用手机开发python10/14
- ♥ 如何安装python rsa11/26
- ♥ 如何在python中右对齐09/25
内容反馈