![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=1739296512-OyqHL8vDiYyvdo6sHt65bWvUQpo1T5R8-0-845080fd9a416579442d0078cbc5b3a2)
保存并运行程序,结果如图2-1所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1267.jpg?sign=1739296512-7RMzJ4522IE6ajcQ8jvkxzqkRaof9peb-0-bfa2c6da0da2f62fc7090a9ac7882e7d)
图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=1739296512-Ncy306lchKI9xAA5wVXtAzNZiPd9FtId-0-f1373283a7c4a75cb2b4cdcd02449ba2)
保存并运行程序,结果如图2-2所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1309.jpg?sign=1739296512-1BOZuUSyuk1lwgkyVFMLRzmR4fRbjR2i-0-775e766c8cc6f4151a846f2523a48b73)
图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=1739296512-CoPdjeqK75ZzisEGrUbog2qlPrN3vj7z-0-ff15119fa211808165a84aa67acad003)
图2-3 程序运行结果
2. 程序代码超过一行
如果程序代码超过一行,可以在每一行的结尾添加反斜杠(\),继续下一行,这与C/C++的语法相同。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_1344.jpg?sign=1739296512-4xYK37rMqvM65AavVQXB5d5VNo6orTvb-0-a18d38ac585e5d83dd4dc3fc4754ccc2)
注意 每个行末的反斜杠(\)之后不加注释文字。
如果是以小括号()、中括号[]或大括号{}包含起来的语句,不必使用反斜杠(\)就可以直接分成数行。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_56942.jpg?sign=1739296512-2aR1zWGDoPOJp8CYV8jjPZfHfQ2M0CYl-0-6c20744c006b8696d1f2edbea606b50b)
3. 将数行表达式写成一行
如果要将数行表达式写成一行,只需在每一行的结尾添加上分号(;)即可。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56943.jpg?sign=1739296512-grXYflWfvl0w8TW5ZkIBxRIHsceQavQE-0-fde8d192bcb8c2b301524db0e03909b9)
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=1739296512-acEZnbqGe7DtnG0FINnFDRPRGCdMoHwY-0-4c8a25256716eaf7cde2525dd5c41e6c)
(2)3个双引号。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56947.jpg?sign=1739296512-7e4UGuSnDvcu8gzgT0rqKzQ5TSea3JKm-0-5b71b9da667f9a25434f56370e572d4a)