更改第四章所有变量名、函数、类等`文本`为`代码` · tinylambda/python3-cookbook@e262431 · GitHub
Skip to content

Commit e262431

Browse files
committed
更改第四章所有变量名、函数、类等文本代码
1 parent 90793ab commit e262431

11 files changed

Lines changed: 23 additions & 23 deletions

source/c04/p01_manually_consuming_iterator.rst

Lines changed: 3 additions & 3 deletions

source/c04/p02_delegating_iteration.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
for ch in root:
4343
print(ch)
4444
45-
在上面代码中,``__iter__()`` 方法只是简单的将迭代请求传递给内部的 ``_children`` 属性。
45+
在上面代码中, ``__iter__()`` 方法只是简单的将迭代请求传递给内部的 ``_children`` 属性。
4646

4747
|
4848

source/c04/p03_create_new_iteration_with_generators.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
----------
4949
讨论
5050
----------
51-
一个函数中需要有一个yield语句即可将其转换为一个生成器
51+
一个函数中需要有一个 ``yield`` 语句即可将其转换为一个生成器
5252
跟普通函数不同的是,生成器只能用于迭代操作。
5353
下面是一个实验,向你展示这样的函数底层工作机制:
5454

@@ -88,6 +88,6 @@
8888
StopIteration
8989
>>>
9090
91-
一个生成器函数主要特征是它只会回应在迭代中使用到的"next"操作。
91+
一个生成器函数主要特征是它只会回应在迭代中使用到的 *next* 操作。
9292
一旦生成器函数返回退出,迭代终止。我们在迭代中通常使用的for语句会自动处理这些细节,所以你无需担心。
9393

source/c04/p06_define_generator_func_with_extra_state.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
解决方案
1414
----------
1515
如果你想让你的生成器暴露外部状态给用户,
16-
别忘了你可以简单的将它实现为一个类,然后把生成器函数放到__iter__()方法中过去。比如:
16+
别忘了你可以简单的将它实现为一个类,然后把生成器函数放到 ``__iter__()`` 方法中过去。比如:
1717

1818
.. code-block:: python
1919

source/c04/p08_skip_first_part_of_iterable.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
15
6868
>>>
6969
70-
在这个例子中,``islice()`` 函数最后那个 ``None`` 参数指定了你要获取从第3个到最后的所有元素,
70+
在这个例子中, ``islice()`` 函数最后那个 ``None`` 参数指定了你要获取从第3个到最后的所有元素,
7171
如果 ``None`` 和3的位置对调,意思就是仅仅获取前三个元素恰恰相反,
7272
(这个跟切片的相反操作 ``[3:]`` 和 ``[:3]`` 原理是一样的)。
7373

source/c04/p09_iterate_over_combination_or_permutation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ itertools模块提供了三个函数来解决这类问题。
100100
----------
101101
讨论
102102
----------
103-
这一小节我们向你展示的仅仅是itertools模块的一部分功能
103+
这一小节我们向你展示的仅仅是 ``itertools`` 模块的一部分功能
104104
尽管你也可以自己手动实现排列组合算法,但是这样做得要花点脑力。
105105
当我们碰到看上去有些复杂的迭代问题时,最好可以先去看看itertools模块。
106106
如果这个问题很普遍,那么很有可能会在里面找到解决方案!

source/c04/p11_iterate_over_multiple_sequences_simultaneously.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
(3, 12, 'z')
110110
>>>
111111
112-
最后强调一点就是,``zip()`` 会创建一个迭代器来作为结果返回。
112+
最后强调一点就是, ``zip()`` 会创建一个迭代器来作为结果返回。
113113
如果你需要将结对的值存储在列表中,要使用 ``list()`` 函数。比如:
114114

115115
.. code-block:: python

source/c04/p12_iterate_on_items_in_separate_containers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
for x in chain(a, b):
7777
...
7878
79-
第一种方案中,``a + b`` 操作会创建一个全新的序列并要求a和b的类型一致。
79+
第一种方案中, ``a + b`` 操作会创建一个全新的序列并要求a和b的类型一致。
8080
``chian()`` 不会有这一步,所以如果输入序列非常大的时候会很省内存。
8181
并且当可迭代对象类型不一样的时候 ``chain()`` 同样可以很好的工作。
8282

source/c04/p13_create_data_processing_pipelines.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,9 @@
120120
----------
121121
以管道方式处理数据可以用来解决各类其他问题,包括解析,读取实时数据,定时轮询等。
122122

123-
为了理解上述代码,重点是要明白yield语句作为数据的生产者而for循环语句作为数据的消费者
124-
当这些生成器被连在一起后,每个yield会将一个单独的数据元素传递给迭代处理管道的下一阶段
125-
在例子最后部分,``sum()`` 函数是最终的程序驱动者,每次从生成器管道中提取出一个元素。
123+
为了理解上述代码,重点是要明白 ``yield`` 语句作为数据的生产者而 ``for`` 循环语句作为数据的消费者
124+
当这些生成器被连在一起后,每个 ``yield`` 会将一个单独的数据元素传递给迭代处理管道的下一阶段
125+
在例子最后部分, ``sum()`` 函数是最终的程序驱动者,每次从生成器管道中提取出一个元素。
126126

127127
这种方式一个非常好的特点是每个生成器函数很小并且都是独立的。这样的话就很容易编写和维护它们了。
128128
很多时候,这些函数如果比较通用的话可以在其他场景重复使用。
@@ -140,15 +140,15 @@
140140
等到下一个迭代步骤时文件就关闭了,因此 ``china()`` 在这里不能这样使用。
141141
上面的方案可以避免这种情况。
142142

143-
``gen_concatenate()`` 函数中出现过 ``yield from`` 语句,它将yield操作代理到父生成器上去
143+
``gen_concatenate()`` 函数中出现过 ``yield from`` 语句,它将 ``yield`` 操作代理到父生成器上去
144144
语句 ``yield from it`` 简单的返回生成器 ``it`` 所产生的所有值。
145145
关于这个我们在4.14小节会有更进一步的描述。
146146

147147
最后还有一点需要注意的是,管道方式并不是万能的。
148148
有时候你想立即处理所有数据。
149149
然而,即便是这种情况,使用生成器管道也可以将这类问题从逻辑上变为工作流的处理方式。
150150

151-
David Beazley在他的
151+
*David Beazley* 在他的
152152
`Generator Tricks for Systems Programmers <http://www.dabeaz.com/generators/>`_
153153
教程中对于这种技术有非常深入的讲解。可以参考这个教程获取更多的信息。
154154

source/c04/p14_flattening_nested_sequence.rst

Lines changed: 4 additions & 4 deletions

0 commit comments

Comments
 (0)