这不仅是 Python 的语法规则,更是它优雅、简洁风格的核心体现。


一 为什么 Python 要用缩进

Python 的设计哲学之一是 “代码的可读性至上”。 缩进是一种强制性的格式要求,让程序结构一目了然,不需要额外的标识符。

例如,在其他语言中我们可能会写

if (x > 0) {
    printf("x is positive");
} else {
    printf("x is non-positive");
}

而在 Python 中,则变成了

if x > 0:
    print("x is positive")
else:
    print("x is non-positive")

没有大括号,没有多余符号,仅通过缩进,就能清晰地看出逻辑结构。


二 缩进的基本规则

Python 的缩进规则非常严格。 每个代码块必须使用相同数量的空格进行缩进。

具体规则如下

  1. 推荐使用 4 个空格 作为一个缩进层级(官方标准)。
  2. 同一个代码块内的所有语句缩进必须一致。
  3. 缩进不一致会导致 IndentationError(缩进错误)。

例如

if True:
    print("正确的缩进")
    print("继续执行")

错误示例

if True:
    print("缩进不一致")
      print("将会报错")

运行后会提示

IndentationError: unexpected indent

三 Python 中的代码块

代码块(Code Block) 是指一组属于同一逻辑结构的语句。 在 Python 中,只要语句后面带有 冒号(:),就意味着接下来要写一个新的代码块。

常见的代码块包括

语句类型示例
条件判断if / elif / else
循环语句for / while
函数定义def
类定义class
异常处理try / except / finally

示例

def greet(name):
    if name:
        print("Hello,", name)
    else:
        print("Hello, stranger")

在这里

  • def greet(name): 表示一个函数定义的开始
  • 紧跟的缩进部分,就是这个函数的代码块

四 缩进的层级结构

缩进不仅区分代码块,还表示逻辑的层级关系。

来看一个例子

for i in range(3):
    if i % 2 == 0:
        print(i, "是偶数")
    else:
        print(i, "是奇数")
print("循环结束")

运行结果

0 是偶数
1 是奇数
2 是偶数
循环结束

分析

  • for 下面的所有语句都向右缩进 4 个空格
  • ifelse 属于 for 的代码块
  • print("循环结束") 没有缩进,代表它已经脱离了 for 语句的范围

缩进层级就像树的分支,层次越深,逻辑越具体。


五 缩进中的空格与 Tab

Python 对缩进的空格与 Tab 非常敏感。 混用空格和 Tab 会导致难以发现的错误。

推荐做法

  • 永远使用 空格缩进(4 个空格)
  • 在编辑器中设置自动将 Tab 转为空格

大多数现代 IDE(如 PyCharm、VS Code)都会自动处理缩进,只需在设置中勾选


六 空行与逻辑层次

除了缩进,空行 也在 Python 中扮演着重要角色。 空行不会影响代码运行,但能帮助分隔逻辑,使结构更加清晰。

例如

def add(a, b):
    return a + b


def subtract(a, b):
    return a - b

函数之间的空行让结构更直观,符合 PEP 8(Python 官方编码规范)的要求。


七 实战案例:缩进决定逻辑

下面是一段经典的示例

x = 10
if x > 5:
    print("大于5")
    if x > 8:
        print("同时也大于8")
else:
    print("小于等于5")

执行结果

大于5
同时也大于8

但如果我们不小心调整了缩进

x = 10
if x > 5:
    print("大于5")
if x > 8:
    print("同时也大于8")
else:
    print("小于等于5")

这时结果变为

大于5
同时也大于8

并且逻辑已经完全不同了:else 不再属于第一个 if

这就是 Python 缩进的力量——它不仅是格式,更是语法的一部分。


八 小结

  1. Python 使用缩进(而非大括号)来表示代码块。
  2. 每个代码块以冒号 : 开始,随后缩进 4 个空格。
  3. 同一层级的缩进必须一致,否则会报错。
  4. 缩进不仅是格式,更直接影响程序逻辑。
  5. 推荐始终使用空格而非 Tab,并保持良好的代码排版习惯。

在本章中,我们理解了 Python 最独特也最重要的语法特性——缩进与代码块

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]