![零基础学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=1738847652-mWDJTG1KXTWAmjSdRfzDhB8JSy7sWXwQ-0-9c6fc696983e37294bff4394f2a17284)
图2.1 非缩进语句
当编写的代码为分支、循环、函数、类等代码时,常常会用到缩进,用来表示所属关系。
【实例2-2】下面的分支代码使用了缩进,如图2.2所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-2.jpg?sign=1738847652-vE1YHmS3o8hcXidpCCYoWnBCCAeyNIdQ-0-f056c201a58e756439ae88eb86c1bee5)
图2.2 包含缩进的代码
图中共有5行代码,前3行代码前面不留空白(顶到左边编写),为非缩进代码;后2行代码前面留有空白,为缩进代码,并且使用了相同的缩进(一个缩进量)。这里的缩进表达了所属关系。相同缩进的代码属于之前最邻近的一行非缩进代码。所以,这里的缩进代码包括以下两行:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-3.jpg?sign=1738847652-FjKyHDJaDFh598caVHeDobTmZPB9FeXz-0-7af5d52bc8da2a864ef815228983022b)
它们从属于之前最邻近的一行非缩进代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-4.jpg?sign=1738847652-6tf9pxGsHgwaDoD9kWKvIayO4TQeKQdN-0-434a2f9a664d1106f9e798eaaf4ef9ba)
3. 多层缩进
上述代码中使用的一个缩进量,也可以称为单层缩进。程序员编写代码时,代码会进行嵌套使用,这时需要多个缩进量,称为多层缩进。
【实例2-3】下面的代码使用了多层缩进,如图2.3所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-5.jpg?sign=1738847652-ZVolMsDPMjdOULidCETLUMBYJ2Wrf7xL-0-b6ae72148e512f6027668d9b36455e28)
图2.3 多层缩进
图中,代码print(a-b)前面有两个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-1.jpg?sign=1738847652-JJdWG7QmWuspA8ED6w3sivEpaR0zAQ7j-0-88f3073ffa9c02de2e177d242fec3979)
从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-2.jpg?sign=1738847652-zo67p02slelcmo1hfgFWYR4BFXTgYerk-0-036bc219aa315ce208386c3e0d675de2)
代码if 30>a>15:与代码print(a+b) 前面有一个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-3.jpg?sign=1738847652-NmLHFlKaSjz6Vip5ZHPl0Lu9Qzii4VLf-0-91a693df40914f5c561d712a5d8b72bd)
同时从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-4.jpg?sign=1738847652-SMvJ7AOyBDH4Wx9bn0HTP73qNu2LNfgn-0-08ffe7a123cfd8e62c4f0557955aca9b)
提示:在所属关系中,缩进量相同的代码为同一级别,缩进量多的代码,隶属于比它的缩进量少一个缩进量的相邻代码。
4. 缩进量不合理会抛出异常
Python对代码的缩进量有严格的要求。同一个级别代码的缩进量必须相同。如果使用错误的缩进量,则会抛出异常。
【实例2-4】以下代码使用了错误的缩进量,如图2.4所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-5.jpg?sign=1738847652-EPVS5bmFmNWuH2Q5op0wLbMVfrn0ENsO-0-48aa717ae684aef2783d03a9b89e7bd0)
图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=1738847652-pRQxRzGLgNQVDzo7CCaxjRVjFo3NOMwe-0-db71488109d09e5d756f69c68792159f)
图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=1738847652-4IBnv7xILg3Hvbq84UNL71sVqdvBVYML-0-5d7cbae8dc88257a2655c96bee9375f2)
图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=1738847652-hhwBmgl2AoAlnqVOdU8knYOwYFwZ79BN-0-bf266eb73e5742228b937563448169a2)
单行注释可以放在要注释代码的前一行,如图2.7所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-2.jpg?sign=1738847652-HRXdQbriV1dUxnJNV9mD1ki62nZmXcTd-0-4d94e6741d39041e6782dde8e69f6d39)
图2.7 注释信息放在代码的前一行
单行注释也可以放在要注释代码的右侧,如图2.8所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-3.jpg?sign=1738847652-8ubkxukvtyCagPAqYQqJsJSiJfPsG1gR-0-5bb2af684ecb997d1e6cf0b75faefc04)
图2.8 注释信息放在代码的右侧
(2)多行注释。
多行注释是将注释的内容放在一对三个单引号(''' ''')或三个双引号(""" """)之间。这时,注释的内容可以分为多行编写。其语法如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-4.jpg?sign=1738847652-rfzdlpxL874luhCdmMZA2Bfcpr4zFsnv-0-5b98c0a36173ff13deda4ea85533759e)
或者
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-5.jpg?sign=1738847652-QUtEZI4F1SgaXVXBUOVEC5FGNWMzRlxw-0-0493c28dae43a6ee4f67bc67b092adb9)
通常,多行注释用来标明作者、版权信息、功能等,如图2.9所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-1.jpg?sign=1738847652-Wazll1K78PiIvktPZxRsiCEzASKEb7Lm-0-00ddd0bc78bc66630fa159d8cfd5a15d)
图2.9 多行注释
2. 将代码注释掉
将代码注释掉是指使用“#”放在代码的左端。这样,右侧的代码就不会被执行了。例如,在下面代码中,注释掉了最后两行代码,代码颜色变为红色。如图2.10所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-2.jpg?sign=1738847652-r3LzrOZUu0J83mcBfvzIq8h8X9IXY6Zo-0-34bd4d4ad191a9ef134fa814c173c113)
图2.10 成功注释掉代码
IDLE也提供了相关菜单选项,可以对选中行的代码进行注释和取消注释。
【实例2-5】下面通过菜单选项,对代码进行注释。
(1)选中对应的代码,如图2.11所示。其中,阴影部分为选中要被注释掉的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-3.jpg?sign=1738847652-olLty0HkcMEl9BFcr7wH0NcTjmfGLuIY-0-ef7d2ce2511d732a5ec75523f7a4b789)
图2.11 选中要被注释掉的代码
(2)在菜单栏中,选择Format→Comment Out Region选项,将代码注释掉,如图2.12所示。最后两行代码的左端出现了“##”,代码变为红色。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-1.jpg?sign=1738847652-fb2RLVkDCIUQ7D4AbWWqRTILsdR3Hszz-0-863d7bdfc46390e35931d3da852d3b8a)
图2.12 成功注释掉代码
【实例2-6】通过菜单选项,还可以取消对代码的注释。
(1)选中要取消注释的代码,如图2.13所示。其中,阴影部分为选中要取消注释的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-2.jpg?sign=1738847652-O5YKom6DiwVxYw7LXcY5oQiGMGHC8mCu-0-21d5700d152895211709cb04f6bd2d29)
图2.13 选中要取消注释的代码
(2)在菜单栏中选择Format→Uncomment Region选项,选中的代码没有了注释,如图2.14所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-3.jpg?sign=1738847652-dBWrj1qxItPZfdsmNGmHOGqg32DxGAQg-0-995b2a2b31732e4f83b7b0c14936b09c)
图2.14 成功取消了注释