Skip to content

Commit 69082f1

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents cfc0cb9 + 97fd2fa commit 69082f1

7 files changed

+10
-11
lines changed

source/c02/p12_sanitizing_clean_up_text.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
'123'
8383
>>>
8484
85-
另一种清理文本的技术设计到I/O解码与编码函数。这里的思路是先对文本做一些初步的清理,
85+
另一种清理文本的技术涉及到I/O解码与编码函数。这里的思路是先对文本做一些初步的清理,
8686
然后再结合 ``encode()`` 或者 ``decode()`` 操作来清除或修改它。比如:
8787

8888
.. code-block:: python

source/c02/p15_interpolating_variables_in_strings.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,4 @@ Python并没有对在字符串中简单替换变量值提供直接的支持。
137137
但是,对于像字符串替换工具函数而言它是非常有用的。
138138
另外,值得注意的是 ``f_locals`` 是一个复制调用函数的本地变量的字典。
139139
尽管你可以改变 ``f_locals`` 的内容,但是这个修改对于后面的变量访问没有任何影响。
140-
所以,虽说访问一个帧栈看上去很邪恶,但是对它的任何操作不会覆盖和改变调用者本地变量的值。
140+
所以,虽说访问一个栈帧看上去很邪恶,但是对它的任何操作不会覆盖和改变调用者本地变量的值。

source/c08/p06_create_managed_attributes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ property的一个关键特征是它看上去跟普通的attribute没什么两样
124124
125125
class Person:
126126
def __init__(self, first_name):
127-
self.first_name = name
127+
self.first_name = first_name
128128
129129
@property
130130
def first_name(self):

source/c08/p14_implementing_custom_containers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
__getitem__, __len__
4646
>>>
4747
48-
下面是一个简单扼示例,继承自上面Sequence抽象类,并且实现元素按照顺序存储:
48+
下面是一个简单的示例,继承自上面Sequence抽象类,并且实现元素按照顺序存储:
4949

5050
.. code-block:: python
5151

source/c09/p18_define_classes_programmatically.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
Stock = types.new_class('Stock', (), {}, lambda ns: ns.update(cls_dict))
4141
Stock.__module__ = __name__
4242
43-
这种方式会构建一个普通的类对象,并且安装你的期望工作
43+
这种方式会构建一个普通的类对象,并且按照你的期望工作
4444

4545
.. code-block:: python
4646

source/c10/p05_separate_directories_import_by_namespace.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
spam/
2929
grok.py
3030
31-
在这2个目录里,都有着共同的命名空间spam。在任何个目录里都没有__init__.py文件。
31+
在这2个目录里,都有着共同的命名空间spam。在任何一个目录里都没有__init__.py文件。
3232

3333

3434
让我们看看,如果将foo-package和bar-package都加到python模块路径并尝试导入会发生什么
@@ -50,10 +50,9 @@
5050
----------
5151
讨论
5252
----------
53-
在这里工作的机制被称为“包命名空间”的一个特征。从本质上讲,包命名空间是一种特殊的封装设计,为合并不同的目录的代码到一个共同的命名空间。对于大的框架,这可能是有用的,因为它允许一个框架的部分被单独地安装下载。它也使人们能够轻松地将第三方附加组件和其他扩展到这样的框架中
53+
在这里工作的机制被称为“包命名空间”的一个特征。从本质上讲,包命名空间是一种特殊的封装设计,为合并不同的目录的代码到一个共同的命名空间。对于大的框架,这可能是有用的,因为它允许一个框架的部分被单独地安装下载。它也使人们能够轻松地为这样的框架编写第三方附加组件和其他扩展
5454

55-
56-
在这里工作的机制被称为“包命名空间”的一个特征。从本质上讲,包命名空间是一种特殊的封装设计,为合并不同的目录的代码到一个共同的命名空间。对于大的框架,这可能是有用的,因为它允许一个框架的部分被单独地安装下载。它也使人们能够轻松地将第三方附加组件和其他扩展到这样的框架中。包命名空间的关键是确保顶级目录没有__init__.py文件来作为共同的命名空间。缺失__init__.py文件在导入包的时候会有有趣的事情发生。特殊的包命名空间模块被创建,只读的目录列表副本被存储在其__path__变量中。
55+
包命名空间的关键是确保顶级目录中没有__init__.py文件来作为共同的命名空间。缺失__init__.py文件使得在导入包的时候会发生有趣的事情:这并没有产生错误,解释器创建了一个由所有包含匹配包名的目录组成的列表。特殊的包命名空间模块被创建,只读的目录列表副本被存储在其__path__变量中。
5756
举个例子:
5857

5958
.. code-block:: python
@@ -84,7 +83,7 @@
8483
>>> import spam.blah
8584
>>>
8685
87-
一个包是否被作为一个包命名空间的主要方法是检查其__fife__属性。如果没有,那包是个命名空间。这也将表现在字符串中的“namespace”这个词
86+
一个包是否被作为一个包命名空间的主要方法是检查其__file__属性。如果没有,那包是个命名空间。这也可以由其字符表现形式中的“namespace”这个词体现出来。
8887

8988

9089
.. code-block:: python

source/chapters/p10_modules_and_packages.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
第十章:模块与包
33
=============================
44

5-
模块于包是任何大型程序的核心,就连Python安装程序本身也是一个包。本章重点涉及有关模块和包的常用编程技术,例如如何组织包、把大型模块分割成多个文件、创建命名空间包。同时,也给出了让你自定义导入语句的秘籍。
5+
模块与包是任何大型程序的核心,就连Python安装程序本身也是一个包。本章重点涉及有关模块和包的常用编程技术,例如如何组织包、把大型模块分割成多个文件、创建命名空间包。同时,也给出了让你自定义导入语句的秘籍。
66

77

88
Contents:

0 commit comments

Comments
 (0)