当前位置: 首页 > news >正文

Python基础语法篇:布尔值是什么?True 和 False 的实际用途

刚学完变量、字符串和数字,你可能会疑惑:“Python 里为什么有 True 和 False?这两个词到底能干嘛?” 其实布尔值(True/False)是 Python 的 “判断工具”,就像生活里的 “是 / 否”“对 / 错”,不管是成绩是否及格,还是筛选符合条件的数据,都要用到它。这篇文章来讲讲:布尔值是什么?实际场景中怎么用?

我整理了一些学习资料,包含课程、专业、考试等内容,还有游戏和软件的合集。

学习资料合集文档​https://www.kdocs.cn/l/cjchDXwklk1B

一、布尔值到底是什么?

布尔值(Boolean)是 Python 里一种特殊的数据类型,只有两个取值:True(真,相当于 “是”“对”)和False(假,相当于 “否”“错”)。注意首字母必须大写,写true或false会报错!

1. 怎么定义布尔值变量?

和定义普通变量一样,直接赋值True或False就行:

# 定义布尔值变量
is_pass = True    # 表示“及格了”
has_homework = False  # 表示“没有作业”
print(is_pass)  # 输出:True
print(has_homework)  # 输出:False

2. 怎么确认是布尔值类型?

用type()函数查看,布尔值的类型是bool(Boolean 的缩写):

is_pass = True
print(type(is_pass))  # 输出:<class 'bool'>

小常识:布尔值和数字的关系

在 Python 里,True相当于数字1,False相当于数字0,比如:

print(True + 1)  # 输出:2(True按1算)
print(False + 3) # 输出:3(False按0算)

但平时尽量别这么用,布尔值的核心用途是 “判断”,不是 “计算”。

二、什么时候会得到 True/False?

你很少会直接写is_pass = True,更多时候是通过 “判断语句” 自动得到布尔值。比如判断 “成绩是否大于 60”“字符串是否包含某个词”,结果要么是 True,要么是 False。

1. 比较运算:数字 / 字符串的 “大小 / 相等” 判断

最常用的场景是比较两个值,用比较运算符(==、!=、>、<、>=、<=),结果直接是布尔值。

案例 1:判断成绩是否及格(数字比较)
math_score = 75
# 判断“成绩是否>=60”,结果是True
is_pass = math_score >= 60
print(is_pass)  # 输出:True# 判断“成绩是否等于100”,结果是False
is_full_score = math_score == 100
print(is_full_score)  # 输出:False
案例 2:判断字符串是否相等(文字比较)
course = "Python基础"
# 判断“课程名是否等于Python基础”,结果是True
is_python_course = course == "Python基础"
print(is_python_course)  # 输出:True# 判断“课程名是否不等于Java”,结果是True
is_not_java = course != "Java"
print(is_not_java)  # 输出:True
避坑提醒:==和=别搞混!
  • ==是 “等于”,用来判断两个值是否相等,返回布尔值(True/False);
  • =是 “赋值”,用来给变量存值,比如a = 10是把 10 存到 a 里。

❌ 错误案例:if a = 10:(想判断 a 是否等于 10,却用了赋值符号,会报错)

✅ 正确案例:if a == 10:

2. 成员运算:判断 “是否包含”

用in或not in判断一个值是否在另一个值里(比如字符串是否包含某个词、列表是否包含某个元素),结果也是布尔值。

案例 1:判断字符串是否包含关键词
essay_title = "Python字符串拼接技巧"
# 判断标题是否包含“Python”,结果是True
has_python = "Python" in essay_title
print(has_python)  # 输出:True# 判断标题是否不包含“Java”,结果是True
no_java = "Java" not in essay_title
print(no_java)  # 输出:True
案例 2:判断列表是否包含某个元素
course_list = ["Python", "Java", "C++"]
# 判断列表是否包含“Python”,结果是True
has_python_course = "Python" in course_list
print(has_python_course)  # 输出:True

3. 逻辑运算:多个判断的 “且 / 或 / 非”

当需要同时判断多个条件时(比如 “成绩及格且作业完成”),用逻辑运算符(and、or、not)组合,结果还是布尔值。

逻辑运算符

含义

规则(A 和 B 是判断条件)

and

且(同时满足)

A 和 B 都为 True,结果才是 True;否则 False

or

或(满足一个即可)

A 或 B 有一个为 True,结果就是 True;否则 False

not

非(取反)

A 是 True,结果是 False;A 是 False,结果是 True

案例 1:判断 “成绩及格且作业完成”
math_score = 80
has_finished_homework = True# 两个条件都满足,结果是True
can_play = (math_score >= 60) and has_finished_homework
print(can_play)  # 输出:True
案例 2:判断 “成绩优秀或有加分”
english_score = 85
has_bonus = True# 满足一个条件就为True(这里两个都满足)
can_get_scholarship = (english_score >= 90) or has_bonus
print(can_get_scholarship)  # 输出:True
案例 3:判断 “没有迟到”(取反)
is_late = False
# 对is_late取反,False变成True
is_on_time = not is_late
print(is_on_time)  # 输出:True

三、布尔值到底能解决什么问题?

布尔值本身不 “做事”,但它是 “决策依据”—— 比如判断是否执行某段代码、筛选符合条件的数据,都要靠布尔值的 True/False 来决定。

1. 用途 1:控制 if 条件语句(“满足条件才执行”)

if 语句的核心是 “条件为 True 时,执行缩进里的代码;为 False 时不执行”,这里的 “条件” 本质就是布尔值。

案例:成绩及格就打印 “合格”,否则打印 “加油”
score = 58
# 条件:score >= 60,结果是False
if score >= 60:print("成绩合格!")  # 条件为False,不执行这行
else:print("成绩未及格,继续加油!")  # 条件为False,执行这行
# 最终输出:成绩未及格,继续加油!

2. 用途 2:控制循环(“满足条件才继续循环”)

while 循环的逻辑是 “条件为 True 时,反复执行代码;为 False 时停止循环”,这里的条件也是布尔值。

案例:倒计时 3 秒(条件为 “count> 0”,直到 count 变成 0 停止)
count = 3
# 条件:count > 0,初始是True
while count > 0:print(f"倒计时:{count}秒")count = count - 1  # 每循环一次,count减1
# 当count变成0,条件count>0为False,循环停止
# 输出:
# 倒计时:3秒
# 倒计时:2秒
# 倒计时:1秒

3. 用途 3:筛选数据(“只保留符合条件的内容”)

比如从列表里挑出 “及格的成绩”“包含 Python 的课程名”,本质是用布尔值判断每个元素是否符合条件,只保留结果为 True 的元素。

案例:从成绩列表里筛选及格成绩
score_list = [55, 72, 88, 49, 95, 58]
passed_scores = []  # 用来存及格的成绩for score in score_list:# 判断成绩是否>=60(得到True/False)if score >= 60:passed_scores.append(score)  # 条件为True,加入列表print(passed_scores)  # 输出:[72, 88, 95]

四、实战练习:判断 “是否能参加 Python 竞赛”

假设参加竞赛需要满足两个条件:1. Python 课程成绩 >=80;2. 已经完成竞赛报名(has_registered = True)。请用布尔值判断某同学是否能参加,并打印结果。

参考代码:

# 1. 定义已知条件
python_score = 85  # 同学的Python成绩
has_registered = True  # 是否完成报名# 2. 判断是否满足两个条件(用and连接)
can_join = (python_score >= 80) and has_registered# 3. 根据布尔值输出结果
if can_join:print("恭喜!你可以参加Python竞赛~")
else:print("抱歉,你暂不符合竞赛参与条件。")# 最终输出:恭喜!你可以参加Python竞赛~

总结

  1. 布尔值只有两个值:True(真)和False(假),首字母必须大写;
  2. 获得布尔值的 3 种方式:比较运算(==、> 等)、成员运算(in/not in)、逻辑运算(and/or/not);
  3. 核心用途:作为 if 语句、while 循环的 “决策依据”,以及筛选数据时的 “判断标准”。

下次写代码时,只要遇到 “要不要执行”“要不要保留” 的问题,就想想用布尔值来判断 —— 这是 Python 里最基础也最核心的逻辑工具之一!如果在判断条件时遇到报错


文章转载自:

http://QjFDnsJ0.xkjqg.cn
http://F0xSB41g.xkjqg.cn
http://UGNZqxIr.xkjqg.cn
http://liiH0JEW.xkjqg.cn
http://xe93MnvR.xkjqg.cn
http://7LK9qPDL.xkjqg.cn
http://X2sJST77.xkjqg.cn
http://qXeLLUyh.xkjqg.cn
http://vZ8nosZo.xkjqg.cn
http://BWbVMJEC.xkjqg.cn
http://rW8EuLr8.xkjqg.cn
http://FiTiLO0m.xkjqg.cn
http://LCseUni0.xkjqg.cn
http://dlY3Td8c.xkjqg.cn
http://nYxFoMwb.xkjqg.cn
http://A2AXgTQr.xkjqg.cn
http://eTtwSzBQ.xkjqg.cn
http://5eztNlhT.xkjqg.cn
http://ObNiuo5K.xkjqg.cn
http://p6CZ3eO2.xkjqg.cn
http://ZmlICCRQ.xkjqg.cn
http://7NtRvHWu.xkjqg.cn
http://qgKyy8um.xkjqg.cn
http://g8Qk3uPR.xkjqg.cn
http://RowhxF28.xkjqg.cn
http://g7yBcwU5.xkjqg.cn
http://f9868QBa.xkjqg.cn
http://sfLSHPYf.xkjqg.cn
http://u6eRJLbQ.xkjqg.cn
http://2bOg1DjP.xkjqg.cn
http://www.dtcms.com/a/371683.html

相关文章:

  • FMI(Functional Mock-up Interface,功能模型接口)
  • macOS中设置环境变量的各文件及作用域
  • Python+DRVT 从外部调用 Revit:批量创建楼板
  • 课前准备--解码乳腺癌进展:单细胞基因组与转录组的联合分析
  • 机器学习中的损失函数是什么
  • P5019 [NOIP 2018 提高组] 铺设道路
  • 【 苍穹外卖 | Day2】
  • 简单的说一说前端开发语言React
  • 跨域解决方案——CORS学习了解
  • leetcode 1304. 和为零的 N 个不同整数 简单
  • LeetCode 面试经典 150 题:合并两个有序数组(双指针解法详解)
  • Nestjs框架: 基于策略的权限控制(ACL)与数据权限设计
  • Go语言实战案例-实现简易定时提醒程序
  • 如何在项目中使用 Claude 记忆库系统(二开场景指南)
  • Matlab Simulink中的一些记录
  • 在Word和WPS文字的表格中快速输入连续的星期、月、日
  • Linux 周期性用户作业计划:crontab
  • Flink TaskManager日志时间与实际时间有偏差
  • 综合案列(SQLpymysql)
  • 得物后端二面
  • v$lock TS lock id1 用于发现Oracle pdb不能关闭的sid
  • Lenovo联想YOGA Pro 16 IAH10 2025款笔记本电脑(83L0)开箱状态预装OEM原厂Win11系统
  • 硬件-电容学习DAY3——钽电容制造全解析:从粉末到精品的奥秘
  • word2vec模型案例
  • Python将md转html,转pdf
  • 虚拟机之CentOS、网络设置的有趣问题
  • Java全栈开发面试实录:从基础到高阶技术深度解析
  • Java捕获子线程异常以及主线程感知子线程异常
  • 设计模式:模板方法模式(Template Method Pattern)
  • BeautifulSoup4用法及示例