python 对缩进是敏感的,而大多教程对缩进规则,往往就几句话带过,对于没有其他语言基础的初学者,十分不友好,本文就把python常见的缩进问题做了一些整理。
一、Python缩进长度及缩进字符
常看到一些Python缩进错误的解读,“tab符和空格做为缩进不能混用”、“缩进一定是4个空格”。实际上并没有这些限制。
我们之所以使用缩进除了代码条条理,还有就是我们需要我们满足语法的逻辑控制,比如我们的if条件控制。
一是在行首缩进(Indentation)的使用上,Python与其他大多数语言不同:在大多数语言中,缩进仅是为了提升代码的可读性,增删缩进并不影响程序的最终运行结果;而在Python语言中,缩进有着重要的语法意义,对缩进运用不当,会引发语法或逻辑错误。在我所知道的编程语言中,仅ABC和Haskell采用了与Python相似的缩进语法(Python之父Guido van Rossum曾在ABC语言项目组中工作过)。
二是在书写风格上,许多编程语言采用自由格式(Free-format),并通常以分号作为语句间的分隔符号,使得同一条语句可以跨越多行,多条语句也可以写在同一行。而在大量的Python示例程序中,通常是一条语句只占一行,一行只写一条语句。
if score >= 60 :
print("成绩合格")
if score >=80 :
print("成绩良好")
if score > 90 :
print("成绩优异")
if score > 95 :
print("成绩拔尖")
elif score ==59:
print("成绩处于边缘,继续加油")
else :
print("成绩不合格")
你想啊,如果没有缩进都可以写在同一个层次的话,那么语句之间就无法实现正常的逻辑控制。
在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。
对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。
空格和tab符通常都以空白形式显示。如果混用,代码容易意混淆,增加维护及调试的困难、降低了代码易读性。因此 Python PEP8 编码规范,指导使用4个空格作为缩进。而实际开发,比较复杂的代码则会选择2个空格做为缩进,这样更易于阅读那些嵌套比较深的代码。



