轻量级Python IDE使用(二)——缩进规则

1、缩进对程序的影响

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

a = 0
    print(a)

print(a)的缩进不符合缩进规则,程序在第二行发生错误。

1.2、符合规则,但缩进位置不同,程序执行的逻辑会有差异。

isP = False
if isP:
    print("A")
    print("B")

程序没有输出任何信息:

isP = False
if isP:
   print("A")
print("B")

程序输出一个字符B

2、代码缩进规则

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

2.1、什么是物理行:源码中换行符分割的每一行代码,是一个物理行。

通常就是代码编辑工具的每一行。

a=1
b=2
c=3

print(a,b,c)

这里一共是5个物理行

obj = {
    
    
    "a":1,
    "b":2
    }

这里一共是4个物理行

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

obj = {
    
    
    "a":1,
    "b":2
    }

这里是一个逻辑行

print("a\
b\
c")

这里也是一个逻辑行

3、相关的代码书写规范

3.1、可以使用;号将多个逻辑行合并成一个物理行

a=1;b=2;c=3;print(a,b,c);

等效于

a=1
b=2
c=3
print(a,b,c)

需要注意多个逻辑行使用“;”连接时,它们属于同一个缩进。
所以下面代码会报错

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

上面写法相当于

if True:
    a=1
    else:
        a=2

else处位置出错了

正确写法

if True:
    a=1
else:
    a=2

3.2、可以使用\对一个逻辑行进行换行,书写为多给物理行

print("1\
2\
3")

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

obj = {
    
    "a":1,
       "b":2,
       "c":3
       }

这段代码只是一个赋值语句,即一个逻辑行,缩进是针对逻辑行的
无论怎么缩进都不影响程序运行

4、缩进规则

1.逻辑行的首行需要顶格,即无缩进

import sys
print(sys.argv)

2.相同逻辑层保持相同的缩进量

a=0
  b=2

这是两个赋值语句,即两个逻辑行,需要保持相同的缩进
因此第二行代码会报错unexpected indent

3.:符号标记一个新的逻辑层
如:while循环、if分支、函数声明、类定义等等:
增加缩进表示进入下一个代码层
减少缩进表示返回上一个代码层

a=1
if a==2:#标记一个逻辑层
    print("a为2")#增加缩进进入下一个代码层
else:#减少缩进上一个代码层并标记一个逻辑层
    print("a为1")#增加缩进进入下一个代码层
a+=1#减少缩进上一个代码层

5、缩进量及缩进字符

1.Python可以使用空格或制表符(tab键)标记缩进。缩进量字符个数不限。
2.空格和tab键通常以空白形式,混用不易区分,影响代码阅读,增加维护及调试的困难。因此Python PEP8编码规范,指导使用4个空格作为缩进,
3.实际开发,代码规模较大,缩进深度的影响,会选择2个空格作为缩进,更易阅读。

猜你喜欢

转载自blog.csdn.net/weixin_45724919/article/details/135150311