参考资料
练习题 icon lost
交流讨论
笔记
img lost


python是使用缩进来区分不同的代码块,所以对缩进有严格要求。

1、缩进不符合规则,解析器会报缩进错误,程序无法运行。

在这里插入图片描述

2、缩进的不同,程序执行的效果也有可能产生差异。

例如图中的代码,左边代码会打印第2行,而右边代码,1,2行都不打印
请添加图片描述


一、代码缩进规则

缩进是针对逻辑行的,因此首先要区分代码中的物理行和逻辑行。

物理行:代码编辑器中显示的代码,每一行是一个物理行。

在这里插入图片描述

逻辑行:Python解释器对代码进行解释,一个语句是一个逻辑行。

在这里插入图片描述


python代码中

1、可以使用";"号将多个逻辑行合并成一个物理行。
请添加图片描述
**这里有个前提,多个逻辑行应该属于同一个代码层级。
像这种分支else代码块就不能直接使用“;”连接了。

if True:a=1; else: a=2

2、可以使用"\"对一个逻辑行进行换行,书写为多个物理行。
请添加图片描述

3、字典、列表等变量赋值语句,是可以直接换行,书写为多个物理行的。

在这里插入图片描述


缩进规则

1、逻辑行的“首行”需要顶格,即无缩进(也就是一份源码的第一个逻辑行)

代码如下(示例):


2、相同逻辑层(同一个代码块)保持相同的缩进量

在这里插入图片描述


3、":"标记一个新的逻辑层

如:while循环、if分支、函数声明、类定义等等

增加缩进表示进入下一个代码层

减少缩进表示返回上一个代码层

在这里插入图片描述


二、缩进量及缩进字符

Python可以使用空格或制表符(tab符)标记缩进。缩进量(字符个数)不限。

空格tab符通常都以空白形式显示,混用不容易区分,影响代码阅读,增加维护及调试的困难。因此 Python PEP8 编码规范,指导使用4个空格作为缩进。
在这里插入图片描述
实际开发,代码规模较大,缩进深度的影响,会选择2个空格做为缩进,更易于阅读。



** 评论中有朋友对```“tab符和空格混用”```有疑虑,关键还是没有理解逻辑层或代码块。这里说的```“可以混用”```是有前提的,准确的说是,不同的逻辑层,可以使用不同的缩进符。
资料来源 关于 python 的缩进
博客作者 wosind
前往答题
我的笔记