Python进阶之路 3.4.1 布尔值和布尔变量
admin
2023-07-08 07:04:20
0

3.4.1 布尔值和布尔变量

在讲条件语句之前,首先应该了解一下布尔(boolean)类型。条件语句(if)需要为其制定布尔值或布尔类型的变量,才能根据条件判断是否要执行指定代码块中的语句。布尔值只有两个值:True和False,可以将这两个值翻译成"真"和"假"或者"1"和"0"。

现在已经了解了布尔值是用来做什么的,但Python语言会将哪些值看作是布尔值呢?其实在Python语言中,每一种类型的值都可以被解释成布尔类型的值。例如,下面的值都会被解释成布尔值中的False。

None 0 "" () [] {}

这些值所涉及的数据类型有一些到现在为止并没有讲过(例如,[]表示长度为0的列表),不过也不用担心,继续跟我学下去,在后面的章节中会详细讲解这些数据类型。

如果在条件语句中使用上面的这些值,那么条件语句中的条件都会被解释成False,也就是说,条件代码块中的语句不会被执行。

在Python语言底层,会将布尔值True看作1,将布尔值False看作0,尽管从表面上看,True和1、False和0是完全不同的两个值,但实际上,它们是相同的。可以在Python控制台验证这一点。

>>> True == 1
True
>>> False == 0
True
>>> True + False + 20
21

很明显,可以直接将True看成1,将False看成0,也可以直接将True和False当成1和0用,所以True+False+20的计算结果是21。

另外,可以用bool函数将其他类型的值转换为布尔类型的值。

>>> bool("")
False
>>> bool("Hello")
True
>>> bool([])
False
>>> bool([1,2,3])
True
>>> bool(20)
True
>>> bool('')
False

可以看到,在前面给出的几个会被系统认为是False的值,通过bool函数的转换,会变成真正的布尔值。不过这些值是不能直接和布尔值比较的,例如,不能直接使用"[]==false",正确的做法是先用bool函数将其转换为布尔值,然后在比较:

bool([]) == false

在前面的代码中使用了"=="运算符,这是逻辑运算符,是二元运算符,需要指定左右两个操作数用于判断两个值是否相等,如果两个操作数相等,运算结果为True,否则为False。这个运算符在后面的章节中会经常用到,当然,还有很多类似的运算符,在讲解条件语句时会一起介绍。

相关内容

热门资讯

我国科学家为细胞信号“导航”开... 新华社济南5月31日电(记者张力元)人体细胞犹如一座精密的通信城市,每天都有大量“指令”穿梭传递,调...
极端大风突袭哈尔滨!过山车停摆... 极目新闻记者 詹钘5月31日,受强对流天气影响,哈尔滨国际会展中心体育场相关设施受到损坏,原计划当晚...
三原电缆取得电缆接头连接用防护... 国家知识产权局信息显示,上海三原电缆附件有限公司取得一项名为“一种电缆接头连接用防护结构”的专利,授...
原创 识... 还是那句话,机圈苦大屏久已…… 虽然大屏有大屏的美,但是小屏也有小屏的俏。在大屏旗舰占据主流的手机市...
玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...