Python 中的缩进(附示例)

Python 中的缩进用于创建一组作为块执行的语句。许多流行语言(例如 C 和 Java)使用大括号 ({ }) 来定义代码块,而 Python 使用缩进。

要编写无错误、用户友好且美观的代码,了解有关缩进的许多知识非常重要,例如它的规则、它的好处、您遇到的错误等。我们在本教程中介绍了所有这些内容。我们先来介绍一下缩进。

Python 中的缩进是什么?

Python 中的缩进是指行首的空格,用于 指示代码块。我们可以使用空格或制表符创建缩进。在编写Python代码时,我们必须为函数和循环定义一组语句。这是通过正确缩进该块的语句来完成的。

行开头的前导空格(空格和制表符)用于确定该行的缩进级别。我们必须增加缩进级别来对该代码块的语句进行分组。同样,减少缩进以关闭分组。

代码行开头的四个空格或单个制表符用于创建或增加缩进级别。 

让我们看一个示例来了解代码缩进和语句分组。

def foo():
    print("Hi")
 
    if True:
        print("true")
    else:
        print("false")
 
print("Done")
Python 缩进

注意:在Python编程语言中,代码中的缩进可以通过使用两个空格或四个空格(或任何其他数量的空格)来完成,您只需保持一致,尽管每个缩进级别使用4个空格是最佳实践。

Python 缩进规则

以下是使用缩进时应遵循的规则:

  • Python代码的第一行不能有缩进,否则会抛出IndentationError。
  • 您应该避免混合制表符和空格来创建缩进。这是因为非 Unix 系统中的文本编辑器的行为不同,混合使用它们可能会导致错误的缩进。
  • 最好使用空格而不是制表符。
  • 最佳实践是使用 4 个空格作为第一个缩进,然后继续添加另外 4 个空格以增加缩进。

Python 中缩进的好处

在程序中正确使用缩进可以带来很多好处,其中一些是: 

  • 缩进对于通过清楚地指示层次结构(即 if 语句是否属于同一块)来提高代码的可读性非常重要。
  • 这避免了使用大括号或方括号等分隔符的需要,而这在大多数编程语言(如 C、C++、Java 等)中是必需的。
  • Python 缩进在整个程序中保持一致,从而更易于调试。
  • 在大多数编程语言中,缩进使代码结构正确。Python使用它进行分组,使代码自动变得漂亮。
  • Python 缩进规则非常简单。大多数 Python IDE 都会自动为您缩进代码,因此编写正确缩进的代码非常容易。

Python 中缩进的缺点

代码中缩进只有几个缺点,让我们看一下:

  • 由于空格用于缩进,如果代码很大并且缩进被损坏,那么修复它真的很乏味。它主要是通过从在线资源、Word 文档或 PDF 文件复制代码来实现的。
  • 大多数流行的编程语言都使用大括号进行缩进,因此来自不同编程世界的任何人一开始都会发现很难适应使用空格进行缩进的想法

Python for 循环中的缩进

我们必须增加 for 循环中的缩进,以便将代码组合在一起。让我们看一下Python for 循环中缩进的示例

def print_numbers(x, y):
    for i in range(x, y):
        print(i)

缩进错误示例

让我们看一下 Python 中缩进错误的一些示例。

示例1:

>>>     x = 10
  File "<stdin>", line 1
    x = 10
    ^
IndentationError: unexpected indent
>>>

我们不能在代码的第一行有缩进。这就是 Python 解释器抛出 IndentationError 的原因。

示例2:

if True:
    print("true")
     print("Hi")
else:
    print("false")

输出:

Python 缩进错误

if 块内的代码行具有不同的缩进级别,因此会出现 IndentationError。

示例3:

if True:
    print("true")
else:
    print("false")
 
 print("Done")

输出:

Python 缩进级别错误取消缩进

这里最后一个打印语句有一些缩进,但没有附加它的语句,因此抛出缩进错误。

示例4:

if True:
print("true")
else:
print("false")

输出:

File "/Users/pankaj/Documents/PycharmProjects/PythonTutorialPro/hello-world/indent.py", line 2
    print("true")
        ^
IndentationError: expected an indented block

if & else 块内的打印语句必须缩进。

概括

缩进是指在Python中在代码行的开头添加相应数量的制表符和空格来指示一个代码块。Python 中的缩进对于使代码可读非常重要,如果没有缩进,您会发现很难阅读或调试程序。

缩进Python代码会导致始终编写漂亮代码的习惯,因为它不是一个很好的功能,而是代码的必备要求。要在 Python 中指示代码块,必须将块的每一行缩进相同的空格,否则会出现缩进错误。

现在你已经有了足够的知识来在Python中使用缩进,不要忘记应用上面提到的规则,否则你最终会得到错误。

下一步是什么?

参考