Python 缩进

2025年6月23日 | 阅读 5 分钟

在 Python 中,缩进是一种用于指示代码块的方法。在程序中添加缩进的目的是告诉解释器,一组语句属于同一个代码块。

Indentation in Python

如果语句具有相同的缩进级别,Python 会将它们包含在同一个代码块中。调用缩进的语法是在每个语句的开头添加空格。

让我们通过一个例子来理解 Python 中缩进的概念。

示例

编译并运行

输出

 
a is less than b  

说明

在上面的示例中,我们分别给出了两个 变量 'a' 和 'b'。我们使用了 if-else 块来检查 'a' 是否小于 'b'。在 if 语句内部,我们使用了空格来指示 if 块的范围。同样,我们为 else 语句使用了空格来指示其范围。

由于 a = 12 且 b = 18,并且 a 小于 b,因此执行了 if 块。这里我们可以看到缩进的重要性。

使用缩进的优点

  1. 添加缩进可以提高程序的可读性。
  2. Python 使用空格(通常是 4 个空格)来定义程序的结构和流程。
  3. 如果在程序中跳过缩进,Python 将返回错误。
  4. 在同一代码块中,您必须使用相同数量的空格,否则 Python 将返回错误。

条件语句中的缩进

缩进通常在条件语句中使用。让我们看一些例子。

示例 1

在下面的示例中,我们将理解缩进在条件语句中的工作原理。

示例

编译并运行

输出

 
You are eligible to caste the vote.   
Thank you!

说明

在此示例中,我们有一个变量 age。我们使用了 if-else 主体来检查给定的变量值是否大于或等于 18。在 if-block 中,我们添加了空格来指示块的范围。在此块内,我们打印了一个语句。同样,我们在 else 块中添加了缩进并打印了一些语句。最后,我们在 if-else 块外部打印了另一个不使用缩进的语句。

由于 age = 20,大于 18。因此,if 块和 if-else 块外部的语句都会被执行。

示例 2

以下示例将帮助我们了解在条件语句中使用不相等缩进时会发生什么。

示例

编译并运行

输出

 
  File "/tmp/ipython-input-5-179859648.py", line 9
    print('You are not eligible to vote! Come again when you are 18.')
    ^
IndentationError: expected an indented block after 'else' statement on line 7   

说明

在上面的代码中,由于我们在第二个 print 语句中没有提供任何缩进,因此 Python 将引发一个 IndentationError。始终记住在同一代码块中提供相同数量的空格。

循环中的缩进

为了在 Python 循环中指示代码块,我们必须使用相同的空格缩进块中的每一行。这是指示哪个代码块属于同一组所必需的。

让我们看一些例子。

示例 1

这个例子将帮助我们理解缩进与循环的结合。

示例

编译并运行

输出

 
1
2
3
4
5
6
7
8
9
10
Done   

说明

这里我们使用了 while 语句。循环之后,代码的两行都缩进了四个空格。Python 识别出哪些代码属于 while 循环并执行它以产生输出。

示例 2

在接下来的示例中,我们将看到不为循环添加缩进时会发生什么。

示例

编译并运行

输出

 
   File "/tmp/ipython-input-7-2507775638.py", line 7
    print(x)
    ^
IndentationError: expected an indented block after 'while' statement on line 5

说明

在此示例中,while (x <= 10): 语句将有一组代码,Python 仅在它下面的代码被缩进时才会识别它。

但是 print 语句前面没有缩进。因此,Python 将无法识别哪些代码属于 while 循环。结果,Python 抛出 IndentationError。

结论

在 Python 中,缩进非常重要。清晰一致的缩进不仅仅是为了可读性。它是语法要求。如果程序员错过了哪怕一行缩进或缩进不一致,Python 都会抛出 IndentationError。因此,为了避免语法错误并提高代码质量,请务必确保您的程序正确缩进。

Python 缩进常见问题解答

1) Python 中的缩进是什么?

在 Python 中,缩进是指在行首使用空格来定义代码块。它帮助解释器理解语句的分组。

2) 为什么缩进在 Python 中很重要?

与其他使用花括号 {} 的语言不同,Python 使用缩进来定义代码块。没有正确的缩进,Python 无法理解代码结构,并将引发 IndentationError。

3) Python 缩进应使用多少个空格?

标准做法是每个缩进级别使用 4 个空格。避免混合使用制表符和空格。

4) 如果不在 Python 中使用缩进会怎样?

如果跳过或错误地使用缩进,Python 将抛出 IndentationError。

5) 我可以在 Python 中混合使用空格和制表符进行缩进吗?

不,在同一代码块中混合使用制表符和空格可能导致错误。建议始终一致地使用空格。