4.2 缩进,规范

4.2.1 缩进

在Python中,要特别注意语句的缩进问题,因为Python是通过缩进来确定语句块的范围。

例如:4.4-缩进.py

# 缩进决定了语句块的范围
num = 5
if num > 10:
    print('num大于10')
    # 有缩进时,此print语句是if语句块的一部分
    print('测试语句')
print('if后续第一条执行语句')

在这个代码中,第二条print语句作为测试语句,它的缩进和第一条print语句一致,于是第二条print语句和第一条语句一起构成了if语句块。

执行结果为:

if后续第一条执行语句

如果上述代码的第二条print测试语句,前面没有缩进,那么它和第一条print语句不在同一个语句块中,第二条print语句的级别将和if语句,以及之后的第三条print语句一致。例如:

# 缩进决定了语句块的范围
num = 5
if num > 10:
    print('num大于10')
# 无缩进时,此print语句不是if语句块的一部分
print('测试语句')
print('if后续第一条执行语句')

执行结果为:

测试语句
if后续第一条执行语句

4.2.2 缩进编程规范

对于缩进的具体长度,通常要遵循以下编程规范:

Python代码的缩进为:每一级4个空格

问题是:为什么一级缩进是4个空格,而不是一个TAB?

当代码中的缩进有的是按TAB键缩进,有的是按4个空格缩进时,在不同的编辑器里,可能由于编辑器对TAB显示为几个空格的不同,代码的缩进会产生混乱,所以统一要求缩进是4个空格。

主流的IDE和编辑器都能够识别Python的语法缩进,例如当输入了if语句那一行最后的冒号之后,输入回车的结果,会自动在下一行缩进一级长度,这时直接输入代码即可。如果语句块输入完毕,不需要缩进时,可以输入退格键,则删掉一级缩进提供输入。

需要额外增加缩进时,可以按TAB键加入一级缩进;需要减少缩进时,按退格键删除一级缩进。不论增加或减少,应始终确保同一语句块的缩进保持一致。编辑器会自动将输入的TAB键转换为4个空格保存到代码文件中。