![零基础学Python程序设计](https://wfqqreader-1252317822.image.myqcloud.com/cover/24/43738024/b_43738024.jpg)
2.1 Python语法特点
不同的编程语言其语法特点也不相同。学习Python需要了解它的语法特点,如代码缩进和注释,下面分别进行介绍。
2.1.1 代码缩进
为了展现层次结构,代码需要按照一定的规则进行缩进。Python采用严格的“缩进”来表示程序的格式框架。缩进是在每一行代码开始前空出一定的空白区域,用来表示代码之间的包含和层次关系。
1. 如何表示缩进
编写代码时,缩进可以使用Tab键或空格键实现。使用空格键的话,一般采用4个空格。而一个Tab键等效于4个空格键,作为一个缩进量。以此类推,2个缩进量可以使用2次Tab键或8个空格键。通常情况下建议使用空格键进行缩进。
2. 缩进的使用
在编写Python代码时,并不是所有的代码都需要缩进。因为缩进是用来表示包含于所属关系的。为了方便讲解,这里将没有使用缩进的代码称为非缩进代码。
【实例2-1】print()这样的简单代码不表示所属关系,不能使用缩进,如图2.1所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-1.jpg?sign=1739631024-tQqwsL91CD67D8SFfaGWTXAawhETb3RY-0-4a7a00435a4a8d92167f4e2c33032249)
图2.1 非缩进语句
当编写的代码为分支、循环、函数、类等代码时,常常会用到缩进,用来表示所属关系。
【实例2-2】下面的分支代码使用了缩进,如图2.2所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-2.jpg?sign=1739631024-j3tuDoZoe0DTVyrJONmpQqYFQG29fhxd-0-5e2d6ba6438931b20870e194e756376f)
图2.2 包含缩进的代码
图中共有5行代码,前3行代码前面不留空白(顶到左边编写),为非缩进代码;后2行代码前面留有空白,为缩进代码,并且使用了相同的缩进(一个缩进量)。这里的缩进表达了所属关系。相同缩进的代码属于之前最邻近的一行非缩进代码。所以,这里的缩进代码包括以下两行:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-3.jpg?sign=1739631024-sr6Thoz54ue1v52mses4dGXToEZPVOcG-0-a6145dd49abaa9af75d5ae33195b63fb)
它们从属于之前最邻近的一行非缩进代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-4.jpg?sign=1739631024-sUdCxUSGmTDWS9mPis0m7w4cJNaXjj18-0-b68f9edb50ec2ecc4fa4b09e832c887c)
3. 多层缩进
上述代码中使用的一个缩进量,也可以称为单层缩进。程序员编写代码时,代码会进行嵌套使用,这时需要多个缩进量,称为多层缩进。
【实例2-3】下面的代码使用了多层缩进,如图2.3所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-5.jpg?sign=1739631024-XEhtZQTiqYDSPqz92lYyx4S9Ra3YPZfq-0-fba6db391c63119c641536f8cce17e0f)
图2.3 多层缩进
图中,代码print(a-b)前面有两个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-1.jpg?sign=1739631024-0kcCfe8JkWBLI2Xov9XphRPC47JQQCab-0-729f110b4c1bfa3a6e259d1539850f7b)
从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-2.jpg?sign=1739631024-3GVkwxc06HEnC7tALeJ0zqdFsr5ZhiuV-0-9d0d21473bcbb3024dc3ec0a0df17f3d)
代码if 30>a>15:与代码print(a+b) 前面有一个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-3.jpg?sign=1739631024-Z4ASe1cgkS37zupoXdw48xKC6EZpPHfi-0-15a0ee93c453dcdf99748e5012080abe)
同时从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-4.jpg?sign=1739631024-oVV877Z11tE9eLGxTRG4NqKP1vzUzskS-0-ff8aaf4f954e8175f35b2f40bae615bf)
提示:在所属关系中,缩进量相同的代码为同一级别,缩进量多的代码,隶属于比它的缩进量少一个缩进量的相邻代码。
4. 缩进量不合理会抛出异常
Python对代码的缩进量有严格的要求。同一个级别代码的缩进量必须相同。如果使用错误的缩进量,则会抛出异常。
【实例2-4】以下代码使用了错误的缩进量,如图2.4所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-5.jpg?sign=1739631024-Lx5qj2w9qXsHMl7A0zP0bkLDWP7pFAgk-0-e7c1fdaa8e05e9bd600bbbba3010c53c)
图2.4 不合理的缩进量
其中,代码print(a+b)和if 30>a>15:为同一级别,但使用的缩进量不同。当执行代码时,抛出异常,并在出现错误的地方显示红色,如图2.5所示。图中的unexpected indent表示缩进量错误。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-6.jpg?sign=1739631024-UyphvFTfJUmdgcqlULioyM5Gm6NjRusZ-0-f6c8f5f4483e153ec2d061cad1aa7fd4)
图2.5 缩进量错误抛出异常
5. 设置缩进单位
在IDLE中,默认以4个空格作为缩进的基本单位。IDLE也提供了设置缩进单位的功能。在菜单栏中,选择Options→Configure IDLE选项,弹出“Settings”对话框,如图2.6所示。在图中的左下方会看到一个滑动条,默认滑动块位于数字4处,表示4个空格。用户根据自己的需求,拖动滑动块到想要设置的位置,然后单击“Ok”按钮保存设置。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-44-1.jpg?sign=1739631024-OzDXcXZ8EmLrt4g0GyCC4mvflqkPnV3p-0-7fbbf9ddd3096fc28fec17c265e0d58d)
图2.6 “Settings”对话框
2.1.2 代码注释
在语文课本中,古诗文、文言文均有一定的标注,用来对特定的句子进行说明,以方便读者更好地理解。代码的注释也是如此,用来对代码进行说明,提高代码的可读性,方便自己或其他人日后理解代码的功能。在执行代码时,注释的内容会被Python解释器忽略,不会被执行。
Python提供的注释可以实现两个功能,分别用于为代码备注信息、将代码注释掉。下面分别介绍这两个功能。
1. 代码备注信息
Python中的代码可以是单独的一行,也可以是多行的代码,共同完成一项任务或作用。同样,注释信息可以为单行代码进行注释,也可以为多行代码进行注释。
(1)单行注释。
单行注释使用“#”作为其符号,“#”后面的内容均为注释的信息,直到换行结束。其语法如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-1.jpg?sign=1739631024-H3RL1avW581iU06DWg9WQARGdG9fhmrl-0-552a6e108c08f01ab075684f91df110c)
单行注释可以放在要注释代码的前一行,如图2.7所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-2.jpg?sign=1739631024-hEk7PA47RXl2UZxpzHr5ZausuxUkOnpM-0-db0a08d499f3df54ebfbccf88b0a5a86)
图2.7 注释信息放在代码的前一行
单行注释也可以放在要注释代码的右侧,如图2.8所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-3.jpg?sign=1739631024-9Jzxouq2epiEHcQnXw1bzQ4iFRMDa5TT-0-da5b4c0441bc315f99bf0076e2e46efc)
图2.8 注释信息放在代码的右侧
(2)多行注释。
多行注释是将注释的内容放在一对三个单引号(''' ''')或三个双引号(""" """)之间。这时,注释的内容可以分为多行编写。其语法如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-4.jpg?sign=1739631024-17NnhXEe6JdYsMAYERF9T8vlQLAcehwI-0-47fecdd03516796109b0678346504f02)
或者
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-5.jpg?sign=1739631024-Jj7waRAqkjEL5rSop1vdfOhZRbQu6KUd-0-7c7f6fabd32e9fa2f3d657d07f17eb27)
通常,多行注释用来标明作者、版权信息、功能等,如图2.9所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-1.jpg?sign=1739631024-M2gyDqB2pD7efS3Nelbs2GuzmyRQZ7Ur-0-a198bad0eab285e9a8c47377b35a31fa)
图2.9 多行注释
2. 将代码注释掉
将代码注释掉是指使用“#”放在代码的左端。这样,右侧的代码就不会被执行了。例如,在下面代码中,注释掉了最后两行代码,代码颜色变为红色。如图2.10所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-2.jpg?sign=1739631024-OLMtGgSWS7XPZNJJFdOadr4HuD5DF9ag-0-211f8ec705f9803093ca5d5b083a969d)
图2.10 成功注释掉代码
IDLE也提供了相关菜单选项,可以对选中行的代码进行注释和取消注释。
【实例2-5】下面通过菜单选项,对代码进行注释。
(1)选中对应的代码,如图2.11所示。其中,阴影部分为选中要被注释掉的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-3.jpg?sign=1739631024-hiKxJ1M39qI0bdw7Fu8kgeRJuRaW5pY2-0-f6a27a5cf15c5e651c53f9c46143361f)
图2.11 选中要被注释掉的代码
(2)在菜单栏中,选择Format→Comment Out Region选项,将代码注释掉,如图2.12所示。最后两行代码的左端出现了“##”,代码变为红色。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-1.jpg?sign=1739631024-d67plV7ccilqcrqzlIOyi65JJLtCxYeB-0-8de8b8eeec6bfce098a2079443ed5067)
图2.12 成功注释掉代码
【实例2-6】通过菜单选项,还可以取消对代码的注释。
(1)选中要取消注释的代码,如图2.13所示。其中,阴影部分为选中要取消注释的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-2.jpg?sign=1739631024-FvjgLRnqtUBfQpGEwjkIpDykKfFlkPXT-0-4c67f633483d62a4a50eb33747461615)
图2.13 选中要取消注释的代码
(2)在菜单栏中选择Format→Uncomment Region选项,选中的代码没有了注释,如图2.14所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-3.jpg?sign=1739631024-Yr4gpGzy2tA75joFlfq30gluxj7W8Aar-0-04f4ce00747f1cb64c3428f115970a7e)
图2.14 成功取消了注释