![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
2.1 程序结构
学习Python开发之前,首先需要了解Python的程序结构。
2.1.1 缩进分层
与其他常见的语言不同,Python的代码块不使用大括号({})来控制类、函数及其他逻辑判断。Python语言的主要特色就是用缩进分层来写模块。
【例2.1】严格执行缩进(代码2.1.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P29_56932.jpg?sign=1739578610-C6BUwxyiCMkFwvysFe2aQtR9KZHaYUYE-0-7f9510bc21e9a143f74cec73ded5b129)
保存并运行程序,结果如图2-1所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1267.jpg?sign=1739578610-3A5zvuXHsO9092e5BMoiIrYL3XJjGk92-0-25655647b5bfcce531f906c184546493)
图2-1 程序运行结果
提示 这里位于>>>号之后的都是用户输入的Python语句,按Enter键后会立即执行;没有在>>>号之后的都是Python语句运行时的输出信息。
Python程序中缩进的空白数量虽然是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个要严格执行。
【例2.2】没有严格执行缩进(代码2.2.py)。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_56935.jpg?sign=1739578610-S2ao4CIY3JaXKqFror5iTFNo1jIr4MS1-0-661056b66cd2416c45d900793bed7a24)
保存并运行程序,结果如图2-2所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1309.jpg?sign=1739578610-zUo57O2Qn5OeyQtlBFbznHFMDYUXDNqZ-0-392e38a512e34714f04e368ce93ae4e9)
图2-2 程序报错
除了保证相同的缩进空白数量,还要保证相同的缩进方式,因为有的使用Tab键缩进,有的使用两个或四个空格缩进,需要改为相同的方式。
注意 Python的编程规范指出:缩进最好采用空格的形式,每一层向右缩进4个空格。
2.1.2 换行问题
在Python语言中,常见的换行问题如下:
1. 换行符
如果是Linux/UNTX操作系统,换行字符为ASCII LF(linefeed);如果是DOS/Windows操作系统,换行字符为ASCII CR LF(return + linefeed);如果是Mac OS操作系统,换行字符为ASCII CR(return)。
例如,在Windows操作系统中换行:
>>>print ("牧童骑黄牛\n歌声振林樾")
运行结果如图2-3所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_1336.jpg?sign=1739578610-FoRDx58QoinIj1uWNIMcgZwho58WRd8T-0-40f8012c1840f5f9780c639eec4b154c)
图2-3 程序运行结果
2. 程序代码超过一行
如果程序代码超过一行,可以在每一行的结尾添加反斜杠(\),继续下一行,这与C/C++的语法相同。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_1344.jpg?sign=1739578610-mmg0lLz6pWSPUlGFLl0JYobCE2gsSrxS-0-7a332bc66f5566a597b77520e0964e8a)
注意 每个行末的反斜杠(\)之后不加注释文字。
如果是以小括号()、中括号[]或大括号{}包含起来的语句,不必使用反斜杠(\)就可以直接分成数行。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_56942.jpg?sign=1739578610-lHP19vat0BqXE3o4KDYIUtXuzoRvblCa-0-b16df0d0e801c66856279624f8d3e696)
3. 将数行表达式写成一行
如果要将数行表达式写成一行,只需在每一行的结尾添加上分号(;)即可。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56943.jpg?sign=1739578610-MxuzEikvtx903StLQtOchKfLvbu3tT6I-0-d851d4fda2a80b4120e0b2c6ff5abc56)
2.1.3 代码注释
Python中的注释有单行注释和多行注释。Python中单行注释以#开头,例如:
# 这是一个注释 print("Hello, World!")
多行注释用3个单引号(''')或3个双引号(""")将注释括起来。
(1)3个单引号。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56946.jpg?sign=1739578610-0CFbsMdVnGbF8dBLNYfYTFC2aLfvz8RR-0-7f68b48ff689e000e6348bb921b4dd38)
(2)3个双引号。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56947.jpg?sign=1739578610-D0eLpHM80W4O0c9em91BLFucCkkrm0S6-0-6eba42d91ccdb33fb1df6ef4f08d0d22)