GEEK
← 返回首页

条件语句(if)和逻辑运算符是如何工作的?

#随笔

条件语句(Conditional Statements)用于让程序根据条件是否成立执行不同的代码。条件通常由比较运算符(如 ==、>、<=)产生布尔值(True 或 False),再配合 if、elif、else 实现程序分支。Python 使用缩进来表示代码块,因此正确的缩进是条件语句正常运行的关键。

条件语句(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 == 3True
!= 不等于 判断两个值是否不相等 3 != 4True
> 大于 左边是否大于右边 5 > 2True
< 小于 左边是否小于右边 2 < 5True
>= 大于等于 左边是否大于等于右边 5 >= 5True
<= 小于等于 左边是否小于等于右边 2 <= 5True

例如:

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

因此:

ifelse

只会执行其中一个。


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 空代码块占位符,不执行任何操作。

学习小结

知识点 说明
条件语句 根据条件真假决定程序执行流程。
比较运算符 比较两个值,返回 TrueFalse
if 条件成立时执行代码。
else 条件不成立时执行代码。
elif 用于处理多个条件判断。
缩进 Python 使用缩进表示代码块,官方建议使用 4 个空格。
pass 空代码块占位符,用于暂时不执行任何操作。

总结

  • 条件语句(Conditional Statements)可以让程序根据不同情况执行不同的代码,是控制程序流程的重要工具。
  • 比较运算符(如 ==><=)用于生成布尔值(TrueFalse),作为条件判断的依据。
  • ifelifelse 可以组成单分支、双分支和多分支结构,实现灵活的逻辑判断。
  • Python 使用缩进而不是花括号来划分代码块,因此保持正确的缩进是编写条件语句时最重要的规则之一。