这套课程按知识依赖排列。本篇的前置知识是:第 07、08 篇。学完后,你应该能够组合能够得到 True 或 False 的条件。
本篇要解决的问题
本篇只处理“布尔值、比较运算与逻辑运算”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
比较表达式先产生 True 或 False,逻辑运算符再组合这些布尔结果。此时只观察条件本身,还没有进入分支执行。
核心概念
==判断是否相等,!=判断是否不等;单个=是赋值。and要求两侧都为真,or只需一侧为真,not取反。- 复杂条件用有含义的中间变量拆开,通常比一行堆叠多个运算符更易读。
跟着示例运行
把下面代码保存到本课脚本并运行:
age = 20
has_ticket = True
is_adult = age >= 18
can_enter = is_adult and has_ticket
print(is_adult)
print(can_enter)
print(not has_ticket)
预期结果:
True
True
False
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
age >= 18先产生布尔值并绑定给is_adult,这一步没有任何分支跳转。is_adult and has_ticket只有两侧都为真才得到真;not只对紧随其后的值取反。
再看一个具体细节
两个布尔条件组合时,直接看真值表比凭语感判断更可靠。
and 只有“真、真”得到真;or 只有“假、假”得到假。先计算比较条件,再查对应组合。
初学者容易混淆的地方
- 用单个等号判断相等。
=是赋值,==才是相等比较。 - 在同一行混合过多比较和逻辑运算,导致读者难以判断组合顺序;先拆成命名清楚的中间条件。
练习
- 判断数字
15是否同时大于 10 且小于 20。 - 分别修改年龄和票据状态,记录
can_enter的四种组合结果。
练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。
本篇边界
本篇目标是组合能够得到 True 或 False 的条件。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。
相关文章
01|Python 程序从源码到输出经历了什么
面向按顺序学习 Python 的初学者,本篇在零基础上,帮助读者理解源代码、解释器和输出之间的关系。
02|在 macOS 安装并确认 Python 3 环境
面向按顺序学习 Python 的初学者,本篇在第 01 篇知识上,帮助读者在 macOS 中确认 Python 3.14 和 pip 是否可用。
03|交互式解释器和 Python 脚本怎么选择
面向按顺序学习 Python 的初学者,本篇在第 02 篇知识上,帮助读者根据任务选择 REPL 或 `.py` 脚本。
04|建立第一个 Python 项目目录
面向按顺序学习 Python 的初学者,本篇在第 03 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

