2022年 11月 6日

Python缩进规则

python的缩进规则:对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。通常情况下都是采用4个空格长度作为一个缩进量(一个Tab键就表示4个空格)。

一,Python缩进长度及缩进字符。

   看到网上一些Python缩进的错误示范,“tab符和空格不能混用”,“缩进一定是4个空格”下列演示。
  • 1

def change(a):
    print(id(a))   # 指向的是同一个对象(tab缩进)
    a=10
    print(id(a))   # 一个新对象(4个空格缩进)
 
a=1
print(id(a))
change(a)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

空格和tab符都是以空格形式显示。如果在实际项目中混用,代码容易产生混淆,会增加在日后项目中维护和调试的困难,会降低代码的可读性。

二,Python代码缩进规则

物理行和逻辑行的概念

物理行是你在编写程序时所看见的。

逻辑行是Python看见的单个语句。Python假定每个物理行对应一个逻辑行 。

默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标 明这种用法。分号表示一个逻辑行/语句的结束。

#例如:

i = 5
    print i
#与下面这个相同:
i = 5;
    print i;
#同样也可以写成:
i = 5; print i;
#甚至可以写成:
i = 5; print i
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

然而,我强烈建议你坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。事实上,我从来没有 在Python程序中使用过或看到过分号。

下面是一个在多个物理行中写一个逻辑行的例子。它被称为明确的行连接()。

下面是一个在多个物理行中写一个逻辑行的例子。它被称为明确的行连接()。

s = 'This is a string. \
This continues the string.'
print s

它的输出:

This is a string. This continues the string.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接。

Python代码中

​​1,使用“;”号将两个或多个逻辑行合并成一个物理行。

​2,使用“\”号连接两个物理行。

​3,字典,列表等变量赋值语句,是可以直接书写为多个物理行。
  • 1
  • 2
  • 3
  • 4
  • 5

2.​缩进规则

1,逻辑行的“首行”需要定格,无缩进

2,相同逻辑层保持相同的缩进

就如这里的“a”和“b”缩进,提示以下缩进错误​

3,“:”标记一个新的逻辑层

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

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

1,常用的IDE都会有自动缩进

如PyCharm代码编译​