当前位置:首页>python>《Python 从入门到精通》021 | if 判断语句入门:让程序学会“选择”

《Python 从入门到精通》021 | if 判断语句入门:让程序学会“选择”

  • 2026-08-27 03:38:53
《Python 从入门到精通》021 | if 判断语句入门:让程序学会“选择”

从这一篇开始,我们正式进入第三阶段。前面你学的是数据和判断条件,现在终于轮到程序真正“做选择”了。

前面你已经学过布尔值、比较运算符、逻辑运算符。

你知道:

age >= 18 会得到 True 或 Falsescore >= 60 and age >= 18 也是一个真假结果 程序其实已经能够判断条件是否成立

可到这里,还差最后一步。

程序虽然知道条件是真是假, 但它还没有真正根据这个结果去“做事”。

比如:

如果年龄大于等于 18,就输出你已经成年 如果成绩大于等于 60,就输出考试及格 如果用户名正确,就提示登录成功 如果库存大于 0,就提示可以购买

你会发现,这些场景里最关键的词其实都是:

如果

而 Python 里负责表达“如果”的,就是今天要讲的主角:

if

这一篇,我们就把最基础的 if 判断讲透。 你学完以后,程序就不再只是接收数据、打印结果了。 它会开始根据不同情况,做出不同反应。

一、什么是 if 判断语句

先说最直白的理解。

if 的作用就是:

如果某个条件成立,就执行一段代码。

你可以把它理解成程序里的“如果……就……”。

比如生活里,你经常会说:

如果下雨,就带伞 如果饿了,就去吃饭 如果成绩及格,就告诉家长 如果余额够,就下单购买

这类表达方式,本质上就是条件判断。

Python 只是把这种生活里的思维,翻译成了代码。

二、先看第一个最简单的 if 程序

直接上代码:

age = 20if age >= 18:    print('你已经成年')

这段代码的意思非常直接:

如果 age >= 18 成立, 就执行下面那句 print('你已经成年')

因为现在 age 是 20, 条件 age >= 18 成立, 所以运行结果会是:

你已经成年

这就是最基础的 if 判断。

三、把这段代码翻译成人话,你会更容易懂

还是刚才这段:

age = 20if age >= 18:    print('你已经成年')

你可以直接把它翻译成下面这句话:

如果年龄大于等于 18,就打印“你已经成年”

你以后学 if,一定要养成这个习惯。 不要光盯着代码看, 要把它翻译成人话。

因为 if 本来就不是什么高深概念。 它只是把日常语言里的“如果……就……”写成程序规则而已。

四、if 的基本结构长什么样

最基础的 if 结构其实非常固定。

if 条件:    条件成立时要执行的代码

你可以从上到下理解:

第一步,先写 if第二步,后面跟一个条件 第三步,条件后面要有冒号 第四步,下一行开始缩进,写条件成立时执行的代码

这四点里,新手最容易漏掉两个地方:

漏掉冒号 忘记缩进

所以你现在就先记牢:

if 后面一定有冒号 下面执行的代码一定要缩进

五、为什么 if 后面一定要有冒号

因为 Python 用冒号告诉程序:

条件写完了 下面要开始进入这个条件对应的代码块了

比如:

if age >= 18:    print('你已经成年')

这个冒号就像一个提示牌,告诉 Python:

下面缩进进去的内容,属于这个 if

如果你漏掉冒号,比如写成:

if age >= 18    print('你已经成年')

程序通常就会报错。

所以这不是风格问题, 而是语法要求。

六、为什么 if 下面的代码一定要缩进

因为 Python 用缩进来表示代码归属。

比如:

if age >= 18:    print('你已经成年')

这里 print() 前面缩进了, 就表示这句代码属于 if 条件下面。

如果你不缩进,程序就会搞不清楚:

这句代码到底是不是条件成立时才执行

所以在 Python 里:

冒号表示要开始一个代码块 缩进表示哪些代码属于这个代码块

这个规则你后面写循环、函数时也会一直用到。

七、if 最关键的一步,不是写 if,而是先想清楚条件

很多新手刚开始学 if 时,容易只盯着格式。 其实真正更关键的是:

你到底想判断什么

比如这些条件都很典型:

age >= 18score >= 60name == '小明'password == '123456'stock > 0

你要学会先把问题想清楚,再写代码。

比如你想做“是否成年”的判断, 条件就是:

age >= 18

你想做“是否及格”的判断, 条件就是:

score >= 60

你想做“用户名是否正确”的判断, 条件就是:

username == 'admin'

所以 if 的重点不只是语法, 更是你有没有把判断标准想明白。

八、if 判断的是布尔结果

这个地方要和前面知识连起来。

你前面学过,像下面这样的表达式:

age >= 18score >= 60name == '小明'

它们最后的结果不是数字, 而是布尔值:

True 或 False

而 if 做的事情,其实就是:

先看这个条件的结果是不是 True

如果是 True,就执行下面的代码。 如果是 False,就跳过下面的代码。

所以你可以把 if 理解成一个看门员。

条件为真,放行 条件为假,不放行

九、先做一个最基础的成绩判断程序

这个例子特别适合入门。

score = int(input('请输入成绩:'))if score >= 60:    print('成绩及格')

如果你输入:

80

程序会输出:

成绩及格

如果你输入:

50

程序就不会输出任何东西。

这就是最基础的 if 行为:

条件成立,执行 条件不成立,什么都不做

你现在要先适应这种特点。 不是所有程序都一定会有输出。 有时候条件不满足,它就安静跳过。

十、为什么有时候运行了 if,什么都没打印

这其实是很多新手第一次学 if 时最容易不安的地方。

比如你写:

score = int(input('请输入成绩:'))if score >= 60:    print('成绩及格')

如果输入 50,程序没有任何输出。 有些人会怀疑是不是程序坏了。

其实不是。

只是因为条件 score >= 60 不成立, 所以 if 下面那句代码没有执行。

这正是 if 的正常行为。

你现在先记住:

if 不是保证下面代码一定执行 而是看条件决定执不执行

十一、自己动手做一个年龄判断练习

下面这个练习建议你现在就敲一遍。

age = int(input('请输入你的年龄:'))if age >= 18:    print('你已经成年')

你分别输入:

20 18 17

看看结果有什么不同。

这个练习很简单, 但特别重要。 因为它能让你第一次真正感受到:

程序开始根据不同输入,做出不同反应了

这就是条件判断的起点。

十二、if 下面可以不止一行代码

这一点你要尽早知道。

不是说 if 下面只能写一句。 只要你缩进一致,写几句都可以。

比如:

age = int(input('请输入你的年龄:'))if age >= 18:    print('你已经成年')    print('可以自己做很多决定')    print('欢迎继续学习 Python')

如果条件成立,这三句都会执行。

所以你可以把 if 看成一个开关。

条件成立,整个缩进块一起执行。 不是只执行第一句。

十三、自己感受一下“代码块”这个概念

来看下面这段:

score = int(input('请输入成绩:'))if score >= 60:    print('成绩及格')    print('继续保持')    print('下次争取更高分')

如果输入 85, 这三句都会输出。

可如果输入 50, 这三句都不会输出。

这就说明什么。

说明 if 不是控制某一行, 而是在控制一个完整的代码块。

而这个代码块,是靠缩进识别出来的。

所以你以后看到缩进时, 脑子里要开始建立一个感觉:

这些缩进去的代码,是同一组

十四、可以把 if 和变量结合起来,让代码更清楚

比如你前面学过布尔值。 那你完全可以先把判断结果存起来,再交给 if。

例如:

age = int(input('请输入年龄:'))is_adult = age >= 18if is_adult:    print('你已经成年')

这段代码和下面这个版本效果一样:

age = int(input('请输入年龄:'))if age >= 18:    print('你已经成年')

只不过前一种写法更容易读。 尤其是条件越来越复杂时,这种拆开写会很有帮助。

对新手来说,这种风格特别值得模仿。

十五、字符串判断也可以配合 if 使用

前面你已经学过字符串比较。 现在把它和 if 连起来,就很自然了。

比如:

name = input('请输入你的名字:')if name == '小明':    print('欢迎你,小明')

如果用户输入的是:

小明

程序就会输出欢迎信息。

如果输入的是别的名字, 程序就不会输出这句。

你会发现,这其实已经特别像真实程序逻辑了。

不是所有输入都一样处理, 而是看输入内容决定怎么回应。

十六、再做一个最简单的密码判断程序

这个例子也特别经典。

password = input('请输入密码:')if password == '123456':    print('密码正确')

如果用户输入正确密码, 程序就提示密码正确。

如果输入错误, 程序暂时什么都不做。

这虽然还很简单, 但已经非常像真实验证场景了。

你现在最好自己多试几组输入, 亲手感受一下条件成立和不成立时的差别。

十七、if 条件里不一定非要比较运算,也可以直接用布尔值

比如:

is_login = Trueif is_login:    print('用户已登录')

因为 is_login 本身就是布尔值, 所以 if 可以直接判断它。

再比如:

is_vip = Falseif is_vip:    print('欢迎尊贵会员')

因为这里 is_vip 是 False, 所以 print() 不会执行。

这说明:

if 后面不一定非得写 age >= 18 这种比较式 也可以直接放一个布尔变量

这个你后面会经常见到。

十八、自己做一个“是否有库存”的练习

这个练习很实用。

stock = int(input('请输入库存数量:'))if stock > 0:    print('商品还有库存')

你可以输入:

10 1 0

看看结果区别。

这个例子特别贴近真实业务。 因为很多系统里,库存判断本来就是一个最典型的 if 场景。

十九、if 条件成立时执行,条件不成立时跳过,这一点一定要形成直觉

你现在可以把 if 彻底记成一句最朴素的话:

条件真,就执行 条件假,就跳过

比如:

money = float(input('请输入余额:'))if money >= 100:    print('余额充足')

输入 200,输出“余额充足” 输入 50,没有输出

这就是 if 的最核心行为。

你把这一条形成直觉, 后面 if...else...elif 都会更好理解。

二十、if 最容易犯的几个语法错误

第一个,漏掉冒号。

错误写法:

if age >= 18    print('你已经成年')

正确写法:

if age >= 18:    print('你已经成年')

第二个,忘记缩进。

错误写法:

if age >= 18:print('你已经成年')

正确写法:

if age >= 18:    print('你已经成年')

第三个,条件写错成赋值。

比如本来想写比较,却写成一个等号。 这个问题在 if 里特别常见,所以一定要记住:

判断相等,用 ==不是 =

二十一、if 条件可以写得很简单,也可以慢慢变复杂

先看简单的:

if score >= 60:    print('及格')

再看稍微复杂一点的:

if age >= 18and score >= 60:    print('成年且及格')

你会发现,本质没变。 无论条件简单还是复杂,if 的规则都一样:

只要后面的条件最终结果是 True, 就执行下面的代码块。

所以你现在不用怕复杂条件。 你只要记住,最后它总归还是会变成一个真假结果。

二十二、自己动手做一个综合小练习

下面这个程序很适合你现在做。

需求:

输入姓名、年龄、成绩 如果年龄大于等于 18,就打印“你已成年” 如果成绩大于等于 60,就打印“你已及格”

代码如下:

name = input('请输入姓名:')age = int(input('请输入年龄:'))score = int(input('请输入成绩:'))if age >= 18:    print(f'{name},你已经成年')if score >= 60:    print(f'{name},你的成绩及格')

这个例子特别值得你体会一下。

这里写了两个 if。 它们彼此独立。

也就是说:

年龄条件成立,就打印成年提示 成绩条件成立,就打印及格提示

两个条件互不影响。

这也是 if 很基础但很重要的一个感觉。

二十三、再做一个“用户登录提示”练习

这个练习也很适合公众号读者跟着做。

username = input('请输入用户名:')password = input('请输入密码:')if username == 'admin':    print('用户名正确')if password == '123456':    print('密码正确')

你可以多试几次:

用户名对,密码错 用户名错,密码对 用户名和密码都对

观察程序分别会输出什么。

这个练习特别好,因为它能让你感受到:

程序不是只能处理一个判断 它可以连续做多个判断

二十四、今天一定要亲手完成的 3 个小练习

第一个,年龄判断练习。

age = int(input('请输入年龄:'))if age >= 18:    print('你已经成年')

第二个,成绩判断练习。

score = int(input('请输入成绩:'))if score >= 60:    print('成绩及格')

第三个,字符串判断练习。

name = input('请输入姓名:')if name == '小明':    print('欢迎你,小明')

这三个练习你一定要自己敲一遍, 而且要多换几组输入试试。 条件判断这种东西,靠看不如靠试。

二十五、写在最后

前面你学了数据类型,学了布尔值,学了比较运算和逻辑运算。 这些东西看起来像是一个个零件。

而从这一篇开始,零件终于开始“运转”了。

因为 if 的出现,意味着程序不再只是被动地接收输入、打印输出。 它开始会判断了。 会选择了。 会根据不同情况,走不同路线了。

这一步特别关键。

你现在学的,不只是一个语法。 而是程序最核心的一种能力:

根据条件做决定

这件事一旦掌握,后面很多真正像样的程序逻辑,才有可能写出来。

本文小结

if 用来表示“如果条件成立,就执行某段代码”。 最基本结构是:

if 条件:    条件成立时执行的代码

if 后面必须有冒号,下面的代码必须缩进。if 判断的本质,是看条件最终结果是不是 True。 条件成立就执行,条件不成立就跳过。if 可以配合数字比较、字符串比较、布尔变量一起使用。 学习 if 最关键的,不只是记语法,而是把代码翻译成“如果……就……”的人话思维。

下篇预告

第 22 篇,我们继续把条件判断往前推进。

if...elif...else:多条件判断怎么写更清晰

到那一篇,你就会知道,程序不只是会做一个简单选择,它还可以在多个可能里,选出最合适的那一个。

最新文章

随机文章