- 零基础学Python程序设计
- 任昱衡编著
- 1964字
- 2022-05-06 12:01:15
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=1739390884-qSTE4FFHuqQ2J81fpqUwRwBF5qzjyALi-0-81ce52f255a2197a62cb3b429ae23776)
图2.1 非缩进语句
当编写的代码为分支、循环、函数、类等代码时,常常会用到缩进,用来表示所属关系。
【实例2-2】下面的分支代码使用了缩进,如图2.2所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-2.jpg?sign=1739390884-W1tadnYMUT1odPXXC1vskS0HTee2cxCd-0-fa6b7328ad3eb9c8f95166c75b146c85)
图2.2 包含缩进的代码
图中共有5行代码,前3行代码前面不留空白(顶到左边编写),为非缩进代码;后2行代码前面留有空白,为缩进代码,并且使用了相同的缩进(一个缩进量)。这里的缩进表达了所属关系。相同缩进的代码属于之前最邻近的一行非缩进代码。所以,这里的缩进代码包括以下两行:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-3.jpg?sign=1739390884-Idlb02bKHzSLqZ65HvA7FaboEIA1JXwl-0-db7c4bcee4b1f7a71306fce2afbabfb9)
它们从属于之前最邻近的一行非缩进代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-4.jpg?sign=1739390884-u8PLULzNHn7eMZ3nm9MxjLiyEMWpZKBv-0-6ac2e228165019d62b4926d94efdce74)
3. 多层缩进
上述代码中使用的一个缩进量,也可以称为单层缩进。程序员编写代码时,代码会进行嵌套使用,这时需要多个缩进量,称为多层缩进。
【实例2-3】下面的代码使用了多层缩进,如图2.3所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-42-5.jpg?sign=1739390884-XX9vtGbynVmmo8EDXnTYOER48MRxXiig-0-c65008d14da92f0c94c29b8da65f837f)
图2.3 多层缩进
图中,代码print(a-b)前面有两个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-1.jpg?sign=1739390884-uiETECnlsJwkvvD8f9806mrJevMqvSWq-0-59080095374bf4a878b49b5db6f33581)
从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-2.jpg?sign=1739390884-103HfYluCJGWiMS2pXTZwcVLzHyqaQws-0-4a7ec257e890287e99e3abdb7885f699)
代码if 30>a>15:与代码print(a+b) 前面有一个缩进量,因此:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-3.jpg?sign=1739390884-2SEU1HcawCjHR3BtRnP2mVpW3XBHGumc-0-5259622cd7dd1f0f8e0633f8410eab7d)
同时从属于代码:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-4.jpg?sign=1739390884-ql2mspxW2ifvpBclHdpWgQdnvlgeFBVR-0-458eb242fccc059815360ab731c78486)
提示:在所属关系中,缩进量相同的代码为同一级别,缩进量多的代码,隶属于比它的缩进量少一个缩进量的相邻代码。
4. 缩进量不合理会抛出异常
Python对代码的缩进量有严格的要求。同一个级别代码的缩进量必须相同。如果使用错误的缩进量,则会抛出异常。
【实例2-4】以下代码使用了错误的缩进量,如图2.4所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-43-5.jpg?sign=1739390884-N9Sz880reskyNGIJ7Z2seMZQFc3Cy4Wn-0-970264c25009ff38963082918ff24ba9)
图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=1739390884-c6kXGTWb3c8wTlB3cnr8vFLUrwVk1NyV-0-7e36d83d5e2c950ebcde4bf78114e583)
图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=1739390884-ufxUxmIZXh4nlSoNdUgrTMF3efr72DbB-0-d8c457da01a162c8d16c70faee465989)
图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=1739390884-SgkrGA145Gt3Z860Y4XKTdjrLjic7I8z-0-5c41c30c06ff8d8f37abe05fdf087f45)
单行注释可以放在要注释代码的前一行,如图2.7所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-2.jpg?sign=1739390884-OfB8UTMcLHosvonF43JVspmb3Dih9miR-0-738c30d4b86999a2c1ae6df3486e40c5)
图2.7 注释信息放在代码的前一行
单行注释也可以放在要注释代码的右侧,如图2.8所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-3.jpg?sign=1739390884-EmFEIKwxJxIfRUDqEEqcF8MhMBX8SMKI-0-e0541b39a3b37b2e8fca8fb860c702e1)
图2.8 注释信息放在代码的右侧
(2)多行注释。
多行注释是将注释的内容放在一对三个单引号(''' ''')或三个双引号(""" """)之间。这时,注释的内容可以分为多行编写。其语法如下:
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-4.jpg?sign=1739390884-9MsVC42TruwQEdxrcuFo8XUE0ISKlEYs-0-6461ff318475fae301e35220ab9b42f3)
或者
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-45-5.jpg?sign=1739390884-OsL23l1bATkFwLz1v8z7VQr4YbkLleLW-0-e1f6133ebdd7effaff957da26376c00d)
通常,多行注释用来标明作者、版权信息、功能等,如图2.9所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-1.jpg?sign=1739390884-gdl05cWZ5oHct0GYGAG6kSwufUVpfzzT-0-770cc19c32b44543fb7636457fbdbfd3)
图2.9 多行注释
2. 将代码注释掉
将代码注释掉是指使用“#”放在代码的左端。这样,右侧的代码就不会被执行了。例如,在下面代码中,注释掉了最后两行代码,代码颜色变为红色。如图2.10所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-2.jpg?sign=1739390884-2RBHdEM4dZjyzt8rQC2bvNqNZVkKdBhB-0-36b0f26a72e2bdc2087b16ee377d30e9)
图2.10 成功注释掉代码
IDLE也提供了相关菜单选项,可以对选中行的代码进行注释和取消注释。
【实例2-5】下面通过菜单选项,对代码进行注释。
(1)选中对应的代码,如图2.11所示。其中,阴影部分为选中要被注释掉的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-46-3.jpg?sign=1739390884-EmP1w6SdKPhZAe7EXRtIoYKx9aiJmRAe-0-15d6d4cfe86c192d0e40d6b9897c5332)
图2.11 选中要被注释掉的代码
(2)在菜单栏中,选择Format→Comment Out Region选项,将代码注释掉,如图2.12所示。最后两行代码的左端出现了“##”,代码变为红色。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-1.jpg?sign=1739390884-ovKXvhZCMbQ7Tfl8rhO2kvLFHEtLXgA2-0-017cd076737a1b86eb7957ec3a2f778f)
图2.12 成功注释掉代码
【实例2-6】通过菜单选项,还可以取消对代码的注释。
(1)选中要取消注释的代码,如图2.13所示。其中,阴影部分为选中要取消注释的代码。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-2.jpg?sign=1739390884-eurDuS1qQcagGgchyU54kw7I7tYZQt9B-0-94da773bd122abf234bad84fa8b821f6)
图2.13 选中要取消注释的代码
(2)在菜单栏中选择Format→Uncomment Region选项,选中的代码没有了注释,如图2.14所示。
![](https://epubservercos.yuewen.com/8FCE01/23020638509734206/epubprivate/OEBPS/Images/42185-00-47-3.jpg?sign=1739390884-L0OydtFYAh68DdHJ8PwXjdbt3SJUN9Px-0-18b85a95e0ffa3295925046d41736050)
图2.14 成功取消了注释