条件语句(if)和逻辑运算符是如何工作的?
到目前为止,我们编写的 Python 程序都是从上到下依次执行的。
例如:
print("开始")
print("学习 Python")
print("结束")
输出:
开始
学习 Python
结束
程序会按照代码的顺序一行一行执行。
但是现实中的程序并不是所有代码都需要执行。
例如:
- 如果年龄大于 18 岁,就允许注册。
- 如果余额不足,就提示充值。
- 如果密码正确,就登录成功。
- 如果考试成绩达到 60 分,就显示及格。
这些情况都需要程序根据条件决定接下来执行什么代码。
这种控制程序执行流程的方式,就叫做条件语句(Conditional Statement)。
什么是条件?
条件就是:
一个能够判断真假(True 或 False)的表达式。
例如:
3 > 4
结果:
False
因为:
3 不大于 4。
再例如:
10 == 10
结果:
True
因为:
两个数字相等。
条件最终都会得到:
True
或
False
这就是布尔值(Boolean)。
比较运算符(Comparison Operators)
比较运算符用于比较两个值,并返回布尔值。
Python 中常见的比较运算符如下:
| 运算符 | 名称 | 作用 | 示例 |
|---|---|---|---|
== |
等于 | 判断两个值是否相等 | 3 == 3 → True |
!= |
不等于 | 判断两个值是否不相等 | 3 != 4 → True |
> |
大于 | 左边是否大于右边 | 5 > 2 → True |
< |
小于 | 左边是否小于右边 | 2 < 5 → True |
>= |
大于等于 | 左边是否大于等于右边 | 5 >= 5 → True |
<= |
小于等于 | 左边是否小于等于右边 | 2 <= 5 → True |
例如:
print(3 > 4)
print(3 < 4)
print(4 == 4)
print(3 != 4)
输出:
False
True
True
True
什么是 if 语句?
if 是 Python 中最基础的条件语句。
作用:
当条件为 True 时,执行指定代码。
语法:
if 条件:
代码块
可以理解为:
如果 条件成立:
执行这里的代码
第一个 if 示例
例如:
age = 18
if age >= 18:
print("你已经成年")
输出:
你已经成年
执行流程:
判断:
18 >= 18
↓
True
↓
执行 print()
条件不成立会怎样?
如果条件为:
False
那么:
整个 if 代码块都会被跳过。
例如:
age = 12
if age >= 18:
print("你已经成年")
输出:
(没有任何输出)
因为:
12 >= 18
结果为:
False
所以:
print() 不会执行。
什么是代码块(Code Block)?
代码块就是:
属于同一个功能的一组代码。
Python 使用:
缩进(Indentation)
来表示哪些代码属于同一个代码块。
例如:
if True:
print("第一行")
print("第二行")
这里:
两个 print() 都属于 if 代码块。
如果条件成立,
两行都会执行。
为什么缩进很重要?
Python 与很多语言不同。
例如:
Java、C++ 使用:
{
}
表示代码块。
而 Python 没有花括号。
Python 使用:
缩进。
官方推荐:
每一级缩进使用 4 个空格。
例如:
正确:
if True:
print("Hello")
错误:
if True:
print("Hello")
运行后:
IndentationError
表示:
Python 找不到属于 if 的代码块。
pass 是什么?
有时候:
我们暂时还没有写代码。
例如:
if age >= 18:
Python 会报错。
因为:
代码块不能为空。
这时可以写:
pass
例如:
if age >= 18:
pass
pass 表示:
什么都不做,仅作为占位符。
以后再补充真正的代码。
else 语句
如果:
条件成立,
执行:
if
里面的代码。
那么:
条件不成立时怎么办?
可以使用:
else
语法:
if 条件:
条件成立执行
else:
条件不成立执行
例如:
age = 12
if age >= 18:
print("你已经成年")
else:
print("你还未成年")
输出:
你还未成年
if...else 执行流程
例如:
age = 20
执行流程:
判断:
20 >= 18
↓
True
↓
执行 if
↓
跳过 else
如果:
age = 12
执行流程:
判断:
12 >= 18
↓
False
↓
跳过 if
↓
执行 else
因此:
if 和 else
只会执行其中一个。
elif —— 多个条件判断
现实中:
有时候不止两种情况。
例如:
年龄可能是:
- 儿童
- 青少年
- 成年人
这时可以使用:
elif
(else if 的缩写)
语法:
if 条件1:
...
elif 条件2:
...
else:
...
例如:
age = 12
if age >= 18:
print("成年人")
elif age >= 13:
print("青少年")
else:
print("儿童")
输出:
儿童
elif 可以有多个
例如:
age = 20
if age >= 65:
print("老年人")
elif age >= 30:
print("成年人")
elif age >= 18:
print("青年")
elif age >= 13:
print("青少年")
else:
print("儿童")
程序会:
从上往下依次判断。
一旦某个条件成立,
后面的条件就不会继续判断。
因此:
条件的顺序非常重要。
通常:
把范围大的条件放在前面。
if、elif、else 的执行流程
执行过程如下:
开始
↓
判断 if
↓
成立?
↓
是
│
└── 执行 if
否
│
▼
判断 elif
↓
成立?
↓
是
│
└── 执行 elif
否
│
▼
继续判断下一个 elif
↓
全部失败
↓
执行 else
整个过程中:
只会进入一个分支执行。
else 前不能插入其他语句
下面的写法:
if age >= 18:
print("成年人")
print("Almost there!")
else:
print("未成年")
会报:
SyntaxError
原因:
else
必须紧跟着:
对应的:
if
或:
elif
中间不能插入其他语句。
常见错误
❌ 把 == 写成 =
错误:
if age = 18:
这里:
=
表示:
赋值。
而不是比较。
正确写法:
if age == 18:
❌ 忘记缩进
错误:
if age >= 18:
print("成年人")
会报:
IndentationError
必须缩进:
if age >= 18:
print("成年人")
❌ else 前插入其他代码
错误:
if age >= 18:
print("成年人")
print("Hello")
else:
print("儿童")
会报:
SyntaxError
常见比较运算符速查表
| 运算符 | 含义 | 返回值 |
|---|---|---|
== |
是否相等 | True / False |
!= |
是否不相等 | True / False |
> |
是否大于 | True / False |
< |
是否小于 | True / False |
>= |
是否大于等于 | True / False |
<= |
是否小于等于 | True / False |
if 结构速查表
| 结构 | 用途 |
|---|---|
if |
条件成立时执行代码。 |
if...else |
条件成立执行一种情况,否则执行另一种情况。 |
if...elif...else |
在多个条件之间进行判断,只执行第一个满足条件的分支。 |
pass |
空代码块占位符,不执行任何操作。 |
学习小结
| 知识点 | 说明 |
|---|---|
| 条件语句 | 根据条件真假决定程序执行流程。 |
| 比较运算符 | 比较两个值,返回 True 或 False。 |
if |
条件成立时执行代码。 |
else |
条件不成立时执行代码。 |
elif |
用于处理多个条件判断。 |
| 缩进 | Python 使用缩进表示代码块,官方建议使用 4 个空格。 |
pass |
空代码块占位符,用于暂时不执行任何操作。 |
总结
- 条件语句(Conditional Statements)可以让程序根据不同情况执行不同的代码,是控制程序流程的重要工具。
- 比较运算符(如
==、>、<=)用于生成布尔值(True或False),作为条件判断的依据。 if、elif和else可以组成单分支、双分支和多分支结构,实现灵活的逻辑判断。- Python 使用缩进而不是花括号来划分代码块,因此保持正确的缩进是编写条件语句时最重要的规则之一。