python bool类型如何与整数比较_Python入门必读bool类型和比较运算符

本文介绍了Python中的bool类型,用于表示真假,True代表正确,False代表错误。讲解了比较运算符如>、<、==、!=、is、is not的用法,并通过示例演示其功能。此外,还探讨了True和False可以作为整数1和0参与算术运算的特性。最后,解释了==和is的区别,前者比较值,后者判断对象的同一性。
摘要由CSDN通过智能技术生成

Python 提供了 bool 类型来表示真(对)或假(错),比如常见的 5 > 3 比较算式,这个是正确的,在程序世界里称之为真(对),Python 使用 True 来代表;再比如 4 > 20 比较算式,这个是错误的,在程序世界里称之为假(错),Python 使用 False 来代表。

由此可见,bool 类型就是用于代表某个事情的真(对)或假(错),如果这个事情是正确的,用 True 代表;如果这个事情是错误的,用 False 代表。

比较运算符用于判断两个值(这两个值既可以是变量,也可以是常量,还可以是表达式)之间的大小,比较运算的结果是 bool 值(True 代表真,False 代表假)。

Python 支持的比较运算符如下:

>:大于,如果运算符前面的值大于后面的值,则返回 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() 函数来判断变量所引用的对象的内存地址(相当于对象在计算机内存中存储位置的门牌号),如果两个对象所在的内存地址相同(相当于它们住在同一个房间内,计算机同一块内存在任一时刻只能存放一个对象),则说明这两个对象其实是同一个对象。

由此可见,is 判断其实就是要求通过 id() 函数计算两个对象时返回相同的地址。例如,使用 id() 函数判断上面的 a、b 两个变量:print(id(a))

print(id(b))

从运行结果中将会看到 a、b 两个变量所引用的对象的内存地址是不同的,这样通过 is 来判断 a、b 两个变量自然也就输出 False 了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值