File tree Expand file tree Collapse file tree 8 files changed +18
-17
lines changed Expand file tree Collapse file tree 8 files changed +18
-17
lines changed Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ Hello World
42
42
43
43
当我们希望运行某些程序时,总不能每次都在解释器提示符中输入我们的程序。因此我们需要将它们保存为文件,从而我们便可以多次地运行这些程序。
44
44
45
- 要想创建我们的 Python 源代码文件,我们需要在一款能够为你提供输入并储存代码的编辑器软件 。一款优秀的面向程序员的编辑器能够帮助你的编写源代码文件工作变得轻松得多。故而选择一款编辑器确实至关重要。你要像挑选你想要购买的汽车一样挑选你的编辑器。一款优秀的编辑器能够帮助你更轻松地编写 Python 程序,使你的编程之旅更加舒适,并助你找到一条更加安全且快速的道路到达你的目的地(实现你的目标)。
45
+ 要想创建我们的 Python 源代码文件,我们需要一款能够让你输入并保存代码的编辑器软件 。一款优秀的面向程序员的编辑器能够帮助你的编写源代码文件工作变得轻松得多。故而选择一款编辑器确实至关重要。你要像挑选你想要购买的汽车一样挑选你的编辑器。一款优秀的编辑器能够帮助你更轻松地编写 Python 程序,使你的编程之旅更加舒适,并助你找到一条更加安全且快速的道路到达你的目的地(实现你的目标)。
46
46
47
47
对编辑器的一项最基本要求为 _语法高亮_ ,这一功能能够通过标以不同颜色来帮助你区分 Python 程序中的不同部分,从而能够让你更好 _看清_ 你的程序,并使它的运行模式更加形象化。
48
48
@@ -185,4 +185,4 @@ hello world
185
185
186
186
-- -
187
187
188
- [^ 1 ]: 令人印象深刻的《Beginning Perl》一书的作者。——原书注。在本书中,除特别说明的注释外,其余注释均为译者所加。
188
+ [^ 1 ]: 令人印象深刻的《Beginning Perl》一书的作者。——原书注。在本书中,除特别说明的注释外,其余注释均为译者所加。
Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ print('hello world')
35
35
36
36
一个字面常量(Literal Constants)[ ^ 2 ] 的例子是诸如 ` 5 ` 、` 1.23 ` 这样的数字,或者是如 ` 这是一串文本 ` 或 ` This is a string ` 这样的文本。
37
37
38
- 这么称呼这一变量是因为它们是 _ 字面上的_ [ ^ 3 ] ——你用的就是它字面意义上的值或是内容。数字 ` 2 ` 总是表示它本身而非其他含义——它是一个 _ 常量_ ,因为它的值不能被改变。因此,所有的这些都被称作字面常量。
38
+ 用这样的称呼是因为它们是 _ 字面上的_ [ ^ 3 ] ——你用的就是它字面意义上的值或是内容。数字 ` 2 ` 总是表示它本身而非其他含义——它是一个 _ 常量_ ,因为它的值不能被改变。因此,所有的这些都被称作字面常量。
39
39
40
40
## 数字
41
41
Original file line number Diff line number Diff line change @@ -132,7 +132,7 @@ a *= 3
132
132
133
133
要注意到 ` 变量 = 变量 运算 表达式 ` 会演变成 ` 变量 运算 = 表达式 ` 。
134
134
135
- ## 计算命令 [ ^ 8 ]
135
+ ## 求值顺序 [ ^ 8 ]
136
136
137
137
如果你有一个诸如 ` 2 + 3 * 4 ` 的表达式,是优先完成加法还是优先完成乘法呢?我们的高中数学知识会告诉我们应该先完成乘法。这意味着乘法运算符的优先级要高于加法运算符。
138
138
@@ -167,9 +167,9 @@ a *= 3
167
167
168
168
使用括号还有一个额外的优点——它能帮助我们改变运算的顺序。同样举个例子,如果你希望在表达式中计算乘法之前应先计算加法,那么你可以将表达式写作 ` (2 + 3) * 4 ` 。
169
169
170
- ## 关联性 [ ^ 9 ]
170
+ ## 结合性 [ ^ 9 ]
171
171
172
- 运算符通常由左至右相互关联 。这意味着具有相同优先级的运算符将从左至右的方式依次进行求值。如 ` 2 + 3 + 4 ` 将会以 ` (2 + 3) +4 ` 的形式加以计算。
172
+ 运算符通常由左至右结合 。这意味着具有相同优先级的运算符将从左至右的方式依次进行求值。如 ` 2 + 3 + 4 ` 将会以 ` (2 + 3) +4 ` 的形式加以计算。
173
173
174
174
## 表达式
175
175
Original file line number Diff line number Diff line change 2
2
3
3
截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行。如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'?
4
4
5
- 正如你你可能已经猜测到的那番 ,这是通过控制流语句来实现的。在 Python 中有三种控制流语句——` if ` ` for ` 和 ` while ` 。
5
+ 正如你可能已经猜测到的那番 ,这是通过控制流语句来实现的。在 Python 中有三种控制流语句——` if ` ` for ` 和 ` while ` 。
6
6
7
7
## ` if ` 语句
8
8
Original file line number Diff line number Diff line change 2
2
3
3
函数(Functions)是指可重复使用的程序片段。它们允许你为某个代码块赋予名字,允许你通过这一特殊的名字在你的程序任何地方来运行代码块,并可重复任何次数。这就是所谓的* 调用(Calling)* 函数。我们已经使用过了许多内置的函数,例如 ` len ` 和 ` range ` 。
4
4
5
- 函数概念可能是在任何不平凡的软件 (无论使用的是何种编程语言)中* 最* 重要的构建块,所以我们接下来将在本章中探讨有关函数的各个方面。
5
+ 函数概念可能是在任何复杂的软件 (无论使用的是何种编程语言)中* 最* 重要的构建块,所以我们接下来将在本章中探讨有关函数的各个方面。
6
6
7
7
函数可以通过关键字 ` def ` 来定义。这一关键字后跟一个函数的* 标识符* 名称,再跟一对圆括号,其中可以包括一些变量的名称,再以冒号结尾,结束这一行。随后而来的语句块是函数的一部分。下面的案例将会展示出这其实非常简单:
8
8
@@ -194,13 +194,13 @@ Python 有一个甚是优美的功能称作*文档字符串(Documentation Stri
194
194
195
195
函数的第一行逻辑行中的字符串是该函数的 * 文档字符串(DocString)* 。这里要注意文档字符串也适用于后面相关章节将提到的[ 模块(Modules)] ( ./11.modules.md#modules ) 与[ 类(Class)] ( ./14.oop.md#oop ) 。
196
196
197
- 该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束。第二行为空行,后跟的第三行开始是任何详细的解释说明。[ ^ 5 ] 在此* 强烈建议* 你在有关你所有非凡功能的文档字符串中都遵循这一约定 。
197
+ 该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束。第二行为空行,后跟的第三行开始是任何详细的解释说明。[ ^ 5 ] 在此* 强烈建议* 你在你所有重要功能的所有文档字符串中都遵循这一约定 。
198
198
199
199
我们可以通过使用函数的 ` __doc__ ` (注意其中的* 双下划綫* )属性(属于函数的名称)来获取函数 ` print_max ` 的文档字符串属性。只消记住 Python 将* 所有东西* 都视为一个对象,这其中自然包括函数。我们将在后面的[ 类(Class)] ( ./14.oop.md#oop ) 章节讨论有关对象的更多细节。
200
200
201
201
如果你曾使用过 Python 的 ` help() ` 函数,那么你应该已经了解了文档字符串的用途了。它所做的便是获取函数的 ` __doc__ ` 属性并以一种整洁的方式将其呈现给你。你可以在上方的函数中尝试一下——只需在程序中包含 ` help(print_max) ` 就行了。要记住你可以通过按下 ` q ` 键来退出 ` help ` 。
202
202
203
- 自动化工具可以以这种方式检索你的程序中的文档。因此,我* 强烈推荐* 你为你编写的所有不平凡的函数配以文档字符串 。你的 Python 发行版中附带的 ` pydoc ` 命令与 ` help() ` 使用文档字符串的方式类似。
203
+ 自动化工具可以以这种方式检索你的程序中的文档。因此,我* 强烈推荐* 你为你编写的所有重要的函数配以文档字符串 。你的 Python 发行版中附带的 ` pydoc ` 命令与 ` help() ` 使用文档字符串的方式类似。
204
204
205
205
## 总结
206
206
@@ -220,4 +220,4 @@ Python 有一个甚是优美的功能称作*文档字符串(Documentation Stri
220
220
221
221
[ ^ 4 ] : 原文作 VarArgs Parameters,VarArgs 来自于英文“可变的”“自变量(一译变元,台译引数,也可以理解成参数)”两个英文单词的结合,即 ** Var** iable ** Arg** uments。
222
222
223
- [ ^ 5 ] : 此处指的是以英文撰写的文档字符串内容。
223
+ [ ^ 5 ] : 此处指的是以英文撰写的文档字符串内容。
Original file line number Diff line number Diff line change 6
6
7
7
我们希望解决的问题如下:
8
8
9
- > 我想要一款能为我所有重要的文件创建备份的程序 。
9
+ > 我想要一款程序来备份我所有的重要文件 。
10
10
11
11
虽然这是一个简单的问题,但是其中并没有足够的信息有助于让我们开始规划一份解决方案。我们需要进行一些* 分析(Analysis)* 。例如,我们应该如何指定_哪些_文件是我们需要备份的?它们应该_如何_进行备份?储存到_哪里_ ?
12
12
159
159
160
160
161
161
----
162
- [ ^ 1 ] : 原文作 Verbosity,沈洁元译本译作“交互”。
162
+ [ ^ 1 ] : 原文作 Verbosity,沈洁元译本译作“交互”。
Original file line number Diff line number Diff line change @@ -169,7 +169,7 @@ how_many = classmethod(how_many)
169
169
170
170
相反,如果我们_没有_在一个子类中定义一个 ` __init__ ` 方法,Python 将会自动调用基类的构造函数。
171
171
172
- 我们会观察到,我们可以通过在方法名前面加上类名作为前缀,再将其传入 ` self ` 和其余变量中 ,来调用基类的方法。
172
+ 我们会观察到,我们可以通过在方法名前面加上基类名作为前缀,再传入 ` self ` 和其余变量 ,来调用基类的方法。
173
173
174
174
在这里你需要注意,当我们使用 ` SchoolMember ` 类的 ` tell ` 方法时,我们可以将 ` Teacher ` 或 ` Student ` 的实例看作 ` SchoolMember ` 的实例。
175
175
@@ -198,4 +198,4 @@ how_many = classmethod(how_many)
198
198
199
199
[ ^ 5 ] : 沈洁元译本译作“导出类”。
200
200
201
- [ ^ 6 ] : 此处的类即派生类或子类。
201
+ [ ^ 6 ] : 此处的类即派生类或子类。
Original file line number Diff line number Diff line change 1
1
# 异常
2
2
3
- 当你的程序出现例外情况时就会发生异常(Exception)。例如,当你想要读取一个文件时,而那个文件却不存在,怎么办?又或者你在程序时不小心把它删除了 ,怎么办?这些通过使用** 异常** 来进行处理。
3
+ 当你的程序出现例外情况时就会发生异常(Exception)。例如,当你想要读取一个文件时,而那个文件却不存在,怎么办?又或者你在程序执行时不小心把它删除了 ,怎么办?这些通过使用** 异常** 来进行处理。
4
4
5
5
类似地,如果你的程序中出现了一些无效的语句该怎么办?Python 将会对此进行处理,** 举起(Raises)** [ ^ 1 ] 它的小手来告诉你哪里出现了一个** 错误(Error)** 。
6
6
@@ -129,4 +129,5 @@ EOFError
129
129
130
130
[ ^ 2 ] : 此处采用沈洁元译本的翻译。但是在其它教程或有关 Python 的讨论文章中,Handler 大都保留原文而不作翻译,这点需读者知悉。
131
131
132
- [ ^ 3 ] : 原文作 Raising Exceptions,沈洁元译本译作“引发异常”,此处采用更流行的译法。
132
+ [ ^ 3 ] : 原文作 Raising Exceptions,沈洁元译本译作“引发异常”,此处采用更流行的译法。
133
+
You can’t perform that action at this time.
0 commit comments