![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=1739328187-qz9QeZdxHIjEwEwH6bWQTdr2ImczYvHF-0-84b4afa0932a53d71a8fe23c84cf9af0)
保存并运行程序,结果如图2-1所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1267.jpg?sign=1739328187-nrxL7yoqliSGEKNJpMuogvskxM1fwpAx-0-366f213cd68415c5672767e13b0512f2)
图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=1739328187-Tfh3cdaNsxOER6ivuMYublJI6rWMQih8-0-b97cea5be82b80065b0316e5f09170db)
保存并运行程序,结果如图2-2所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P30_1309.jpg?sign=1739328187-7wrJtkYoBxYXznenlw7kAw67hv2OBVyt-0-f097058d67537f3f1260ce2975938373)
图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=1739328187-HAGEZUq8Hyzj1PyFekiASU0kGcd3bOyO-0-5f28a1fa12f7eabc7fafa0df9a16926f)
图2-3 程序运行结果
2. 程序代码超过一行
如果程序代码超过一行,可以在每一行的结尾添加反斜杠(\),继续下一行,这与C/C++的语法相同。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_1344.jpg?sign=1739328187-7p0jYGq7vf1NAIunRL9BUlYGqvcmwsTO-0-d1aebb294f218a223b87068c8128246e)
注意 每个行末的反斜杠(\)之后不加注释文字。
如果是以小括号()、中括号[]或大括号{}包含起来的语句,不必使用反斜杠(\)就可以直接分成数行。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P31_56942.jpg?sign=1739328187-LczuXOHQMkKqAetq62mT8BefgDLI32m2-0-0cf43c542f92ad18e4293a4fae810db6)
3. 将数行表达式写成一行
如果要将数行表达式写成一行,只需在每一行的结尾添加上分号(;)即可。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56943.jpg?sign=1739328187-cNluOb5AJLq67p27NsbICiedus1aF0NR-0-7d5f607cdf531dd96696fe1c241d62a6)
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=1739328187-cJtVTQXoK27eWfwCC5HxRSIc8xuafYtU-0-ad421126b97b1d49f2577ecf80e7f6b7)
(2)3个双引号。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P32_56947.jpg?sign=1739328187-futD15qwI2dC6UU1YuaPuRVhqLuAk3m0-0-24ab029fa2ebe87fc0d9660e923d7916)