CC++ & Algorithm

你的代码会做选择吗?Python if 语句像不像马路的红绿灯?

2026年6月26日关联知识点:Python if 语句8 次阅读

你有没有遇到过这种情况?早上出门前纠结要不要带伞——看一眼窗外,要是下雨就带上,不下雨就轻装上阵。就这么个小决定,日常处处可见。而编程世界里,让代码具备这种“判断力”的,就是 if 语句

很多初学者以为 if 就只是“如果……就……”的直译,但真正理解它的本质后会发现,if 语句是程序逻辑的分岔口,是代码开始“智能”的起点。

if 语句的骨架:冒号和缩进是关键

在 Python 里,if 语句的写法干净利落:

if 条件:
    执行的事情

注意两个细节:条件后面必须跟一个英文冒号执行语句前要有缩进(Tab 或四个空格)。缩进是 Python 的命根子——它告诉解释器这段代码是不是“被选中”的。一旦少了缩进,程序就会报错,或者执行逻辑完全跑偏。

红绿灯的类比,帮你一次记住

想象你站在十字路口,面前亮着一盏红绿灯。

  • 绿灯 → 过马路
  • 红灯 → 停下

Python 的 if 语句正是这样工作的:它先检查条件是否为 True,如果是,就执行缩进块里的代码;否则,整个缩进块就像从未存在过一样被跳过。

上面那个带伞的例子,用代码写出来就是:

is_raining = True
if is_raining:
    print("带伞出门")

如果 is_raining 变成 False,程序什么也不会输出。这正是“判断”的含义——不是所有代码都会被运行,只有条件满足时才触发。

比较运算符与条件组合

条件可以是各种比较运算:><==(等于,注意是两个等号)、!=(不等于)等等。还可以用 andor 把多个条件粘在一起。

比如,你想判断一个人是否是小学生:年龄在 6 到 12 岁之间(包含边界)。这是两个条件同时成立,所以要用 and

age = 10
if age >= 6 and age <= 12:
    print("你是小学生")

这种“区间判断”在日常编程中非常常见。注意 and 两边的条件都会检查,只有全真才执行。

来看两道题,验证你的理解

第一道:以下代码中,哪一项的 if 语句语法是正确的?

这道题其实在考察两个硬性语法点:冒号缩进。很多人会误选那些条件后没写冒号、或者执行语句没有缩进的选项。记住:Python 里 if 的行末必须冒号,下一行必须缩进。这才是正确的“姿势”。

第二道:已知 x = 10,执行下面代码后输出的结果是?

if x > 5:
    print('A')
else:
    print('B')

这里 x > 5 显然是 True,所以会执行 print('A'),输出 'A'else 是 if 的“否则”分支,只在条件不满足时运行。这道题看似简单,但它验证了一个核心思想:if 会走其中一条路,不会两条都走

深入一点:if 的本质是“真值判断”

很多人以为条件只能是布尔表达式(True / False),其实 Python 里任何对象都可以作为条件。例如:

if 'hello':
    print("非空字符串为真")

字符串 'hello' 被当作条件时,Python 会把它转换为布尔值:除了 0None、空列表、空字符串等少数“假”值,其他都是 True。这是 Python 的一个特色,写起来很灵活,但初学者容易忽略。记住:if 本质上是在问**“这个值是真是假”**,不限于比较运算。

你的程序从此有了“选择权”

学会了 if 语句,你的程序就不再是一条道走到黑。它可以根据输入、状态、时间等条件,做出不同的响应——这才是程序的灵魂。后面你还会学到 elif(多个条件判断)、嵌套 if、以及 match-case(Python 3.10+)等更复杂的结构,但万变不离其宗:条件决定路径

进阶建议

  • 尝试写一个简单的交互程序——根据用户输入的年龄输出“成年”或“未成年”。
  • 了解“短路求值”和 and/or 的妙用,能让你的条件表达式更简洁。
  • 思考一下:如果多个条件同时成立,但你想让程序只执行第一个匹配的,该怎么处理?(提示:elif 就是为此而生)

关于作者

我是赵老师,持有 NOI 信息学奥赛教练证书,拥有 15 年以上的软件开发经验,从事信息学少儿编程教学已有 8 年时间。

这些年累计帮助 多名 学生通过编程特长升入自己心仪的目标学校。

如果你在编程学习上有任何疑问,欢迎联系我:18620372957(微信同号)

这篇文章对你有帮助吗?

成为第一个评价的人

想系统学习这个知识点?查看完整知识点 →