Python if语句怎么写:基本格式与缩进规则

远山来客
远山来客
发布时间:2026-10-23 | 5人浏览过
原创

在Python中,if语句用于根据条件的真假决定是否执行某段代码;其核心语法由if关键字、条件表达式、末尾英文冒号(:)以及其后缩进的代码块构成。编写Python条件分支的关键不仅在于写对逻辑表达式,更在于严格遵守Python独有的“缩进组织代码块”规则。

一、单分支 if 语句的基本书写格式

最基础的if语句只包含单向判断:当条件成立(值为True)时执行缩进内的操作,若条件不成立(值为False)则直接跳过该代码块继续往下执行。

# 基本语法格式
if 条件表达式:
    条件成立时执行的语句
    条件成立时执行的语句(同级缩进)

我们来看一个具体的值检查示例:

score = 85

if score >= 60:
    print("考试及格")
    print("请继续保持")

print("成绩审核流程结束")

在这段代码中:

  • score >= 60 是条件表达式,经计算得到布尔值 True。
  • 行尾必须紧跟英文冒号 :,用以提示解释器接下来的内容属于分支代码块。
  • 两行 print 语句开头均缩进了4个空格,表示它们受该 if 语句管辖。
  • 最后一行顶格书写,不再属于 if 内部,因此无论成绩是否及格都会被执行。
Python if语句怎么写:基本格式与缩进规则
图1:单分支 if 语句的逻辑判断与控制流流转图

二、多分支结构:if-elif-else 的完整语法解剖

当面临两种或多种互斥情况时,仅用单分支if无法简洁表达,此时需要引入else(否则)和elif(否则如果):

  • 双分支(if-else):当条件成立执行块A,否则执行块B。
  • 多分支(if-elif-else):自上而下逐一匹配条件,一旦某个条件成立,执行对应缩进块后立刻跳出整个结构,不再计算后续条件。
# if-elif-else 完整书写示例
age = 22

if age < 14:
    category = "儿童"
elif age < 18:
    category = "青少年"
elif age < 60:
    category = "劳动力人口"
else:
    category = "长者"

print(f"所属群体:{category}")

在编写多分支时,有三项基本事实需要注意:

  1. 每个 if、elif、else 之后都必须带上英文冒号 :。
  2. elif 必须紧跟在 if 或另一个 elif 之后,不可独立出现;else 必须位于整个分支结构的最后。
  3. 条件的先后顺序直接影响运行结果,范围较窄的特定条件应置于前,宽泛条件置于后。
Python if语句怎么写:基本格式与缩进规则
图2:if-elif-else 语句组成要素与代码块结构解剖图

三、Python 缩进规则:核心机制与对齐规范

C、Java等语言通过大括号 {} 区分代码块,而 Python 直接依赖缩进(Indentation)组织代码结构。如果在其他语言中缩进仅影响排版美观,那么在 Python 中,缩进是解释器理解程序逻辑的唯一语法依据。

1. 缩进的基准单位:4个半角空格

根据 Python 官方规范 PEP 8,首选的缩进方式是连续4个半角空格。虽然语法上只要使用一致的缩进量(如2个空格)也能运行,但社区统一标准为4个空格,这样能最大程度保证团队协作和代码互通。

2. 同一代码块必须完全对齐

处于同一层级的语句必须拥有完全相同数量的前置空格,不能错位。

# 正确:同块语句严格对齐
if is_vip:
    print("尊贵会员欢迎光临")
    apply_discount()

# 错误:同一代码块缩进不一致
if is_vip:
    print("尊贵会员欢迎光临")
      apply_discount()  # 触发 IndentationError: unexpected indent

3. 严禁混用制表符(Tab)与空格(Space)

不同编辑器对 Tab 键展现的视觉宽度不同(有的展现为4列,有的展现为8列)。如果一段代码中某些行用了4个空格,另一些行用了 Tab 字符,肉眼看着完全对齐,但 Python 解释器解析出的字节并不相同,会直接抛出 TabError: inconsistent use of tabs and spaces in indentation 错误。现代编辑器通常建议开启“将 Tab 转换为空格”功能。

Python if语句怎么写:基本格式与缩进规则
图3:Python 标准缩进对齐与常见缩进失误直观对照图

四、常见报错与定位排查方法

初学者编写条件判断时,最容易遭遇两类语法异常。通过错误信息名称即可准确定位问题根源:

报错类型 常见触发原因 排查与修正方案
SyntaxError: expected ':' if、elif 或 else 语句行末遗漏英文冒号,或误输入为中文全角冒号(:)。 在报错指向的行末补齐半角英文冒号 :,并检查输入法状态。
IndentationError: expected an indented block if: 后面紧邻的下一行忘记缩进,或者分支内部留空没有任何有效语句。 将分支子语句按4空格缩进。若暂未想好具体操作,可填入 pass 占位语句。
IndentationError: unexpected indent 在不该缩进的地方(例如顶格逻辑、平级语句)无故添加了前置空格。 删除多余空格,保证代码与所在上下文层级对齐。
TabError: inconsistent use of tabs... 同一源文件中混合使用了制表符(Tab)和半角空格作为缩进。 统一使用编辑器内置的“转为空格”功能,规范为全空格缩进。
实用技巧:用 pass 解决空分支报错
在构思业务逻辑时,有时我们需要先写好条件结构,具体处理逻辑后续再补。Python 不允许分支内部完全为空。此时在缩进位置写入 pass 语句,即可让解释器合法通过:
if status == "PENDING":
    pass  # 待后续接入异步队列处理,占位避免缩进报错

五、条件判断编写规范自查总结

掌握了基本格式与缩进规则后,在日常编写 Python 代码时可参照以下自查流程:

  1. 结构完整性:每行 if / elif / else 是否均以半角冒号结尾?
  2. 对齐规范性:是否全项目统一使用 4 个空格?是否存在混杂制表符的隐患?
  3. 作用域确认:分支内部做的事情是否缩进?不受条件控制的后续执行语句是否已经顶格还原?
  4. 空块防护:分支内部是否存在完全空白的行?是否需要使用 pass 占位?
Python if语句怎么写:基本格式与缩进规则
图4:Python if 条件分支编写与全流程自查要点图
相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表