各位学习Python的小伙伴,前面课程我们学习了整数、浮点数、字符串,本节课学习最简单但逻辑编程必备的布尔类型。内容通俗易懂,零基础也能轻松看懂,跟着敲代码就能掌握!
如果你在比较运算、if判断、布尔转换时遇到代码报错,分不清True和False,都可以在评论区留言提问;也可以分享自己写的测试代码,大家一起交流学习!
一、布尔类型基础概念
1. 定义
布尔类型英文简写 bool,只有两个固定值:
True(真、成立、正确)、False(假、不成立、错误)
注意:首字母必须大写,true/false 小写会直接报错!
2. 作用场景
布尔值专门用来存放判断结果,是条件判断、循环语句的核心:
- 比较数字大小:10 > 5 结果为 True
- 判断文本是否相等:"a" == "b" 结果为 False
- if、while循环的判断条件,程序根据布尔值决定执行哪段代码
3. 关键知识点
所有数据都能转为布尔值,只有少量内容转换后为False,其余全部为True。
二、基础代码案例
案例1:直接定义布尔变量,查看类型
# 定义布尔变量flag1 = Trueflag2 = Falseprint(flag1)print(flag2)# 使用type()查看数据类型print("True的数据类型:", type(flag1))print("False的数据类型:", type(flag2))
运行结果:
TrueFalseTrue的数据类型: <class 'bool'>False的数据类型: <class 'bool'>
案例2:比较运算,自动产生布尔值
常用比较运算符:> 大于、< 小于、>= 大于等于、<= 小于等于、== 判断相等、!= 判断不相等
a = 10b = 6print(a > b) # 10大于6,成立 → Trueprint(a < b) # 10小于6,不成立 → Falseprint(a == b) # 是否相等 → Falseprint(a != b) # 是否不相等 → Trueprint(b >= 6) # 大于等于 → True# 字符串比较s1 = "苹果"s2 = "香蕉"print(s1 == s2)
运行结果:
TrueFalseFalseTrueTrueFalse
案例3:bool() 转换函数,任意数据转布尔
规则总结:转换结果为 False 的数据(仅6种)
1. 数字:0、0.0
2. 空字符串:""
3. 空容器:空列表[]、空元组、空字典(本节课暂不深入)
4. 特殊值:None
除以上内容外,所有数字、文字、符号转换后都是 True。
# 会转为 False 的数据print(bool(0))print(bool(0.0))print(bool(""))# 会转为 True 的数据print(bool(88))print(bool(-5.2))print(bool("Python"))print(bool("0"))
运行结果:
FalseFalseFalseTrueTrueTrueTrue
案例4:布尔值用于简单if判断(实际开发最常用)
age = 18result = age >= 18if result: print("成年,可以上网")else: print("未成年,禁止上网")
运行结果:
三、逻辑运算符(布尔值组合判断)
三种逻辑操作,用来同时判断多个条件:
1. and 并且:两边都为True,结果才是True
2. or 或者:任意一边为True,结果就是True
3. not 取反:True变False,False变True
# and 演示print(10 > 5 and 3 > 1)print(10 > 20 and 1 > 0)# or 演示print(5 > 10 or 2 < 6)# not 取反print(not 5 > 1)
运行结果:
四、课后练习题(共3道,难度由浅到深)
第1题 基础定义与比较题
1. 定义两个布尔变量,分别赋值True、False并打印
2. 给定 x=20,y=15,分别打印 x>y、x==y、x<=y 的结果
第2题 bool()转换判断题
使用bool()函数转换以下数据,打印每一个结果:
0、10、0.0、-3、""、"学习Python"
第3题 逻辑运算综合题
已知 a=15,b=8,写出代码计算并打印:
1. a > 10 and b < 10
2. a < 5 or b > 5
3. not (a == b)
本节课布尔类型bool全部知识点讲解完毕,重点记住只有True、False两个值、比较运算生成布尔、bool()转换规则、and、or、not逻辑运算符!
完成练习题的同学可以把代码粘贴在评论区,我帮你检查错误;分不清逻辑运算、转换结果出错的同学都可以留言提问。下一节课我们学习算术运算符,继续打好Python基础!