Python提供了bool类型来表示true(真)或false(错),比如常见的5>3比较公式,这个是对的,在编程世界里叫true(真),Python用True来表示;比如4>20这个比较公式是错误的,在编程界称为false(错误),Python用False来表示。
可以看出,bool类型是用来表示某件事的真(对)或假(错)的。如果事物是正确的,则用 True 表示;如果错误,则用 False 表示。
比较运算符用于判断两个值(这两个值可以是变量、常量或表达式)之间的大小,比较运算的结果是一个bool值(True表示真,False表示假)。
Python 支持的比较运算符如下:
>:大于,如果运算符前面的值大于后面的值,则返回True;否则返回 False。
>=:大于或等于,如果运算符前面的值大于或等于后面的值,则返回True;否则返回 False。
<:小于,如果运算符前面的值小于后面的值,则返回 True;否则返回 False。
<=:小于或等于,如果运算符前面的值小于或等于后面的值,则返回True;否则返回 False。
==:等于,如果运算符前面的值等于后面的值,则返回 True;否则返回 False。
!=:不等于,如果运算符前的值不等于运算符后的值,则返回True;否则返回 False。
is:判断两个变量引用的对象是否相同,相同则返回True。
is not:判断两个变量引用的对象是否不同,不同则返回True。
下面程序示范了比较运算符的使用:
# 输出True
print("5是否大于 4:", 5 > 4)
# 输出False
print("3的4次方是否大于等于90.0:", 3 ** 4 >= 90)
# 输出True
print("20是否大于等于20.0:", 20 >= 20.0)
# 输出True
print("5和5.0是否相等:", 5 == 5.0)
# 输出False
print("True和False是否相等:", True == False)
上面程序简单示范了 Python 比较运算符的功能和用法。
Python 的两个 bool 值分别是 True 和 False,但实际上 True 也可被当成整数 1 使用,False 也可被当成整数 0 使用。也就是说,True、False 两个值完全可以参与各种算术运算。例如如下代码:
# 输出True
print("1和True是否相等:", 1 == True)
# 输出True
print("0和False是否相等:", 0 == False)
print(True + False) # 输出1
print(False - True) # 输出-1
关于 == 与 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两个变量的时间值相等,所以程序用“==”判断返回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。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python保存后无法打开文件的原因是什么?08/15
- ♥ 如何安装指定版本的python包09/04
- ♥ 如何在python中编写代码以跳转到下一行08/20
- ♥ 如何调用python库10/24
- ♥ 如何切换python版本09/14
- ♥ 边玩边学,4个 Python 的编程游戏网站01/28
内容反馈