Python 条件判断基础:if、elif、else 与运算符详解
1. 前言
在编写程序时,我们通常希望代码能够根据具体情况做出不同的反应。如果程序只是按照顺序一条一条执行语句,那么它就无法处理复杂多变的业务逻辑。本章将重点介绍如何让程序具备自我选择的功能,即根据条件判断是否执行特定的语句块。
Python 程序之所以能实现这种智能选择,是因为它支持基于布尔值的条件判断机制。通过条件语句,我们可以控制程序的执行流程,使其在不同的输入或状态下运行不同的代码路径。
2. 语句块与缩进规范
2.1 什么是语句块
语句块是指一组在特定条件下(如条件为真)执行一次,或在循环中重复执行的语句集合。在 Python 中,语句块的划分不依赖大括号 {},而是完全依靠缩进(Indentation)。
- 缩进规则:在代码前放置空格来缩进语句即可创建语句块。所有属于同一个块的语句必须保持相同的缩进量。
- Tab 与空格:虽然可以使用 Tab 键缩进,但 Python 标准推荐仅使用空格。一个 Tab 字符在不同编辑器中可能代表不同数量的空格(通常为 8 个),这会导致解析错误。PEP 8 建议每个缩进层级使用 4 个空格。
- 冒号的作用:在英文版冒号
:后开始新的语句块。当回退到与块起始行相同的缩进量时,表示当前块结束。
注意:许多现代集成开发环境(IDE)和编辑器会自动处理缩进对齐,但开发者仍需确保手动修改时保持一致性,避免因混用 Tab 和空格导致的
IndentationError。
3. 条件语句结构
Python 提供了 if、elif 和 else 关键字来实现分支逻辑。
3.1 if 语句
if 语句用于检查一个条件。如果条件判定为真(True),则执行紧随其后的语句块;如果为假(False),则跳过该语句块。
age = 20
if age >= 18:
print('your age is', age)
print('adult')
3.2 else 语句
else 子句是 if 的补充,用于处理条件不满足时的情况。if...else... 搭配使用时,若 if 条件为 False,则执行 else 下的语句块。
age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print()


