2.2.1 程序的层次结构

习惯了C、C++之类的程序结构,Python初学者经常会被莫名其妙的缩进错误搞得心烦意乱,因为Python必须使用正确的缩进格式。在Python程序中,既不能使用大括号({})来表示语句块,也不能使用开始/结束标识符来表示语句块,而是靠缩进来表示程序的层次结构的,原来“缩进”不仅仅是为了让程序结构美观。

空白(缩进)在Python中是非常重要的。缩进是指每行代码前端的空白区域,用来表示代码之间的包含和层次关系。这意味着同一层次的语句必须有相同的缩进。每组这样的语句被称为一个块。借用“缩进”的方式会使程序的层次结构非常清晰,便于代码阅读。

在编写Python程序代码的过程中,缩进可以通过按下“Tab”键或使用多个空格(通常是4个空格)来实现。下面看一段Python程序代码。

【范例2-2】程序的层次结构。

从这段代码中可以发现,除第1、2、7行代码外都存在缩进,不需要缩进的代码顶行编写,不留空白(缩进)。其中,第3行代码采用单层代码缩进,第4行代码用到了多层代码缩进(缩进嵌套)。通过缩进可以很清楚地区分哪个if与else是相匹配的条件判断。

值得注意的是,处于同一级别的代码缩进量和缩进的符号(“Tab”键或空格)要保持一致,这样才能保持嵌套的层次关系清晰、正确;否则,由于缩进的方式不一致,可能会导致嵌套错误,甚至会影响程序的正确运行。另外,在Python的代码缩进中,最好采用空格的方式,每层向右缩进4个空格。通常不建议采用“Tab”键的方式,更不能两种方式混合使用。

现在,有一些Python辅助开发工具可以自定义按一次“Tab”键生成4个空格的代码缩进,还有一些工具可以自动实现代码缩进,这些工具都给编写Python程序带来了极大的便利。