Python中的缩进
缩进是Python的一个非常重要的概念,因为如果不正确缩进Python代码,您最终会看到IndentationError
并且代码不会被编译。
缩进
简而言之,缩进是指在语句之前添加空格。但问题来了,它甚至有必要吗?
要理解这一点,请考虑一种情况,您正在阅读一本书,突然书中所有页码都丢失了。所以你不知道从哪里继续阅读,你会感到困惑。这种情况与Python类似。如果没有缩进, Python不知道接下来要执行哪个语句或哪个语句属于哪个块。这将导致IndentationError
。
在上面的例子中,
- 语句(第 1 行)、if 条件(第 2 行)和语句(最后一行)属于同一块,这意味着在语句 1 之后,将执行
if condition
。并假设if condition
变为False
,那么Python将跳转到最后一条语句执行。 - 嵌套的
if-else
属于块 2,这意味着如果nested if
变为 False,则Python将执行else
条件内的语句。 - 嵌套
if-else
中的语句属于块 3,根据if-else
条件,只会执行一条语句。
Python缩进是一种告诉Python解释器该组语句属于特定代码块的方式。块是所有这些语句的组合。块可以被视为用于特定目的的语句分组。大多数编程语言,如 C、C++、 Java都使用大括号{ }
来定义代码块。 Python使用缩进来突出显示代码块。空格用于Python中的缩进。所有右边距离相同的语句都属于同一个代码块。如果一个块必须更深地嵌套,它只是向右缩进更远。通过查看以下代码行,您可以更好地理解它。
示例 #1:
# Python program showing
# indentation
site = 'gfg'
if site == 'gfg':
print('Logging on to geeksforgeeks...')
else:
print('retype the URL.')
print('All set !')
输出:
Logging on to geeksforgeeks...
All set !
行print('Logging on to geeksforgeeks…')
和print('retype the URL.')
是两个独立的代码块。我们的 if 语句示例中的两个代码块都缩进了四个空格。最后的print('All set!')
没有缩进,因此它不属于 else 块。
示例 #2:
j = 1
while(j<= 5):
print(j)
j = j + 1
输出:
1
2
3
4
5
要在Python中指示代码块,您必须将块的每一行缩进相同的空格。 while
循环中的两行代码都缩进了四个空格。它用于指示语句属于哪个代码块。例如, j=1
和while(j<=5):
没有缩进,因此它不在while
块内。因此, Python代码结构是缩进的。
注意: Python默认使用 4 个空格作为缩进。但是,空格的数量取决于您,但必须使用至少 1 个空格。