page contents

【Python入门】缩进规则

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用...

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

例如,下面这段 Python 代码中(涉及到了目前尚未学到的知识,初学者无需理解代码含义,只需体会代码块的缩进规则即可):



  1. height=float(input("输入身高:")) #输入身高

  2. weight=float(input("输入体重:")) #输入体重

  3. bmi=weight/(height*height)       #计算BMI指数

  4. #判断身材是否合理

  5. if bmi<18.5:

  6. #下面 2 行同属于 if 分支语句中包含的代码,因此属于同一作用域

  7. print("BMI指数为:"+str(bmi)) #输出BMI指数

  8. print("体重过轻")

  9. if bmi>=18.5 and bmi<24.9:

  10. print("BMI指数为:"+str(bmi)) #输出BMI指数

  11. print("正常范围,注意保持")

  12. if bmi>=24.9 and bmi<29.9:

  13. print("BMI指数为:"+str(bmi)) #输出BMI指数

  14. print("体重过重")

  15. if bmi>=29.9:

  16. print(BMI指数为:"+str(bmi)) #输出BMI指数

  17. print("肥胖")


Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。例如,对上面代码做错误改动,将位于同一作用域中的 2 行代码,它们的缩进量分别设置为 4 个空格和 3 个空格,如下所示:



  1. if bmi<18.5:

  2. print("BMI指数为:"+str(bmi)) #输出BMI指数

  3. print("体重过轻")


可以看到,第二行代码和第三航代码本来属于同一作用域,但我们手动修改了各自的缩进量,这会导致 SyntaxError 异常错误,如图 1 所示。


image.png

图 1 缩进不符合规范导致异常

对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。


IDLE 开发环境对缩进量的设置

在 IDLE 开发环境中,默认是以 4 个空格作为代码的基本缩进单位。不过,这个值是可以手动改变的,在菜单栏中选择Options -> Configure,会弹出如下对话框:
image.png

如图所示,通过拖动滑块,即可改变默认的代码缩进量,例如拖动至 2,则当你使用 Tab 键设置代码缩进量时,会发现按一次 Tab 键,代码缩进 2 个空格的长度。


不仅如此,在使用 IDLE 开发环境编写 Python 代码时,如果想通过设置多行代码的缩进量,可以使用 
Ctrl+]  Ctrl+[ 快捷键,此快捷键可以使所选中代码快速缩进(或反缩进)。

attachments-2021-04-FSE9StD7607972c216883.jpg

  • 发表于 2021-04-16 19:20
  • 阅读 ( 578 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
小柒
小柒

1478 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1478 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章