Skip to content

Commit bf89a35

Browse files
author
邓丹
committed
更新部分错误翻译
更新部分错误翻译
1 parent c958894 commit bf89a35

File tree

8 files changed

+37
-37
lines changed

8 files changed

+37
-37
lines changed

docs/source/appendix.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
错误处理
1616
--------------
1717

18-
当错误发生时,解释器打印一个错误信息和堆栈跟踪。在交互模式下,它返回主提示符;当输入来自文件的时候,在打印堆栈跟踪后以非零退出状态退出。(在 `try <https://docs.python.org/3/reference/compound_stmts.html#try>`_ 声明中被 `except <https://docs.python.org/3/reference/compound_stmts.html#except>`_ 子句捕捉到的异常在这种情况下不是错误。)有些错误是非常致命的会导致一个非零状态的退出;这也适用于内部错误以及某些情况的内存耗尽。所有的错误信息都写入到标准错误流;来自执行的命令的普通输出写入到标准输出。
18+
当错误发生时,解释器打印一个错误信息和堆栈跟踪。在交互模式下,它返回主提示符;当输入来自文件的时候,在打印堆栈跟踪后以非零退出(a nonzero exit)状态退出。(在 `try <https://docs.python.org/3/reference/compound_stmts.html#try>`_ 声明中被 `except <https://docs.python.org/3/reference/compound_stmts.html#except>`_ 子句捕捉到的异常在这种情况下不是错误。)有些错误是非常致命的会导致一个非零状态的退出;这也适用于内部错误以及某些情况的内存耗尽。所有的错误信息都写入到标准错误流;来自执行的命令的普通输出写入到标准输出。
1919

20-
输入中断符(通常是 Control-C 或者 DEL)到主或者从提示符中慧取消输入并且返回到主提示。[#]_ 当命令执行中输入中断符会引起 `KeyboardInterrupt <https://docs.python.org/3/library/exceptions.html#KeyboardInterrupt>`_ 异常,这个异常能够被一个 `try <https://docs.python.org/3/reference/compound_stmts.html#try>`_ 声明处理。
20+
输入中断符(通常是 Control-C 或者 DEL)到主或者从提示符中会取消输入并且返回到主提示。[#]_ 当命令执行中输入中断符会引起 `KeyboardInterrupt <https://docs.python.org/3/library/exceptions.html#KeyboardInterrupt>`_ 异常,这个异常能够被一个 `try <https://docs.python.org/3/reference/compound_stmts.html#try>`_ 声明处理。
2121

2222

2323
.. _tut-scripts:
@@ -37,7 +37,7 @@
3737
3838
$ chmod +x myscript.py
3939
40-
在 Windows 系统上,没有一个 “可执行模式” 的概念。Python 安装器会自动地把 ``.py`` 文件和 ``python.exe`` 关联起来,因此双击 Python 分拣将会把它当成一个脚本运行。文件扩展名也可以是 ``.pyw``,在这种情况下,运行时不会出现控制台窗口。
40+
在 Windows 系统上,没有一个 “可执行模式” 的概念。Python 安装器会自动地把 ``.py`` 文件和 ``python.exe`` 关联起来,因此双击 Python 将会把它当成一个脚本运行。文件扩展名也可以是 ``.pyw``,在这种情况下,运行时不会出现控制台窗口。
4141

4242

4343
.. _tut-startup:

docs/source/classes.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Python 的类机制通过最小的新语法和语义在语言中实现了类。
1616
术语相关
1717
==============================
1818

19-
对象具有特性,并且多个名称(在多个作用于中)可以绑定在同一个对象上。在其它语言中被称为别名。在对 Python 的第一印象中这通常会被忽略,并且当处理不可变基础类型(数字,字符串,元组)时可以被放心的忽略。但是,在调用列表、字典这类可变对象,或者大多数程序外部类型(文件,窗体等)描述实体时,别名对 Python 代码的语义便具有(有意而为)影响。这通常有助于程序的优化,因为在某些方面别名表现的就像是指针。例如,你可以轻易的传递一个对象,因为通过继承只是传递一个指针。并且如果一个方法修改了一个作为参数传递的对象,调用者可以接收这一变化——这消除了两种不同的参数传递机制的需要,像 Pascal 语言。
19+
对象具有特性,并且多个名称(在多个作用域中)可以绑定在同一个对象上。在其它语言中被称为别名。在对 Python 的第一印象中这通常会被忽略,并且当处理不可变基础类型(数字,字符串,元组)时可以被放心的忽略。但是,在调用列表、字典这类可变对象,或者大多数程序外部类型(文件,窗体等)描述实体时,别名对 Python 代码的语义便具有(有意而为)影响。这通常有助于程序的优化,因为在某些方面别名表现的就像是指针。例如,你可以轻易的传递一个对象,因为通过继承只是传递一个指针。并且如果一个方法修改了一个作为参数传递的对象,调用者可以接收这一变化——这消除了两种不同的参数传递机制的需要,像 Pascal 语言。
2020

2121

2222
.. _tut-scopes:
@@ -56,7 +56,7 @@ Python 作用域和命名空间
5656

5757
重要的是作用域决定于源程序的意义:一个定义于某模块中的函数的全局作用域是该模块的命名空间,而不是该函数的别名被定义或调用的位置,了解这一点非常重要。另一方面,命名的实际搜索过程是动态的,在运行时确定的——然而,Python 语言也在不断发展,以后有可能会成为静态的“编译”时确定,所以不要依赖动态解析!(事实上,局部变量已经是静态确定了。)
5858

59-
Python 的一个特别之处在于:如果没有使用 `global`_ 语法,其赋值操作总是在最里层的作用域。赋值不会复制数据,只是将命名绑定到对象。删除也是如此:``del x`` 只是从局部作用域的命名空间中删除命名 ``x`` 。事实上,所有引入新命名的操作都作用于局部作用域。特别是 `import`_ 语句和函数定将模块名或函数绑定于局部作用域(可以使用 `global`_ 语句将变量引入到全局作用域)。
59+
Python 的一个特别之处在于:如果没有使用 `global`_ 语法,其赋值操作总是在最里层的作用域。赋值不会复制数据,只是将命名绑定到对象。删除也是如此:``del x`` 只是从局部作用域的命名空间中删除命名 ``x`` 。事实上,所有引入新命名的操作都作用于局部作用域。特别是 `import`_ 语句和函数定义将模块名或函数绑定于局部作用域(可以使用 `global`_ 语句将变量引入到全局作用域)。
6060

6161
`global`_ 语句用以指明某个特定的变量为全局作用域,并重新绑定它。`nonlocal`_ 语句用以指明某个特定的变量为封闭作用域,并重新绑定它。
6262

@@ -463,7 +463,7 @@ Python 同样有限的支持多继承形式。多继承的类定义形如下例:
463463

464464
raise Instance
465465

466-
第一种形式中,``instance`` 必须是 `type`_ 或其派生类的一个实例。第二种形式是以下形式的简写::
466+
第一种形式中,``Class`` 必须是 `type`_ 或其派生类的一个实例。第二种形式是以下形式的简写::
467467

468468
raise Class()
469469

docs/source/controlflow.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ annotations)是定义在参数名称的冒号后面,紧随着一个用来表
592592

593593
.. rubric:: Footnotes
594594

595-
.. [#] 实际上, *引用对象调用* 描述的更为准确。如果传入一个可变对像,调用者会看到调用操作带来的任何变化(如子项插入到列表中)。
595+
.. [#] 实际上, *引用对象调用* 描述的更为准确。如果传入一个可变对象,调用者会看到调用操作带来的任何变化(如子项插入到列表中)。
596596
597597
598598

docs/source/datastructures.rst

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
1717
.. method:: list.append(x)
1818
:noindex:
1919

20-
把一个元素添加到链表的结尾,相当于 ``a[len(a):] = [x]``。
20+
把一个元素添加到列表的结尾,相当于 ``a[len(a):] = [x]``。
2121

2222

2323
.. method:: list.extend(L)
@@ -29,19 +29,19 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
2929
.. method:: list.insert(i, x)
3030
:noindex:
3131

32-
在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 ``a.insert(0, x)`` 会插入到整个链表之前,而 ``a.insert(len(a), x)`` 相当于 ``a.append(x)``。
32+
在指定位置插入一个元素。第一个参数是准备插入到其前面的那个元素的索引,例如 ``a.insert(0, x)`` 会插入到整个列表之前,而 ``a.insert(len(a), x)`` 相当于 ``a.append(x)``。
3333

3434

3535
.. method:: list.remove(x)
3636
:noindex:
3737

38-
删除链表中值为 *x* 的第一个元素。如果没有这样的元素,就会返回一个错误。
38+
删除列表中值为 *x* 的第一个元素。如果没有这样的元素,就会返回一个错误。
3939

4040

4141
.. method:: list.pop([i])
4242
:noindex:
4343

44-
从链表的指定位置删除元素,并将其返回。如果没有指定索引,``a.pop()`` 返回最后一个元素。元素随即从链表中被删除(方法中 *i* 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在Python 库参考手册中遇到这样的标记)。
44+
从列表的指定位置删除元素,并将其返回。如果没有指定索引,``a.pop()`` 返回最后一个元素。元素随即从列表中被删除(方法中 *i* 两边的方括号表示这个参数是可选的,而不是要求你输入一对方括号,你会经常在Python 库参考手册中遇到这样的标记)。
4545

4646

4747
.. method:: list.clear()
@@ -53,32 +53,32 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
5353
.. method:: list.index(x)
5454
:noindex:
5555

56-
返回链表中第一个值为 *x* 的元素的索引。如果没有匹配的元素就会返回一个错误。
56+
返回列表中第一个值为 *x* 的元素的索引。如果没有匹配的元素就会返回一个错误。
5757

5858

5959
.. method:: list.count(x)
6060
:noindex:
6161

62-
返回 *x* 在链表中出现的次数
62+
返回 *x* 在列表中出现的次数
6363

6464

6565
.. method:: list.sort()
6666
:noindex:
6767

68-
对链表中的元素就地进行排序
68+
对列表中的元素就地进行排序
6969

7070

7171
.. method:: list.reverse()
7272
:noindex:
7373

74-
就地倒排链表中的元素
74+
就地倒排列表中的元素
7575

7676
.. method:: list.copy()
7777
:noindex:
7878

7979
返回列表的一个浅拷贝。等同于 ``a[:]``。
8080

81-
下面这个示例演示了链表的大部分方法::
81+
下面这个示例演示了列表的大部分方法::
8282

8383
>>> a = [66.25, 333, 333, 1, 1234.5]
8484
>>> print(a.count(333), a.count(66.25), a.count('x'))
@@ -108,13 +108,13 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
108108

109109
.. _tut-lists-as-stacks:
110110

111-
把链表当作堆栈使用
111+
把列表当作堆栈使用
112112
---------------------
113113

114114
.. sectionauthor:: Ka-Ping Yee <ping@lfw.org>
115115

116116

117-
链表方法使得链表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 :meth:`append` 方法可以把一个元素添加到堆栈顶。用不指定索引的 :meth:`pop` 方法可以把一个元素从堆栈顶释放出来。例如::
117+
列表方法使得列表可以很方便的做为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 :meth:`append` 方法可以把一个元素添加到堆栈顶。用不指定索引的 :meth:`pop` 方法可以把一个元素从堆栈顶释放出来。例如::
118118

119119
>>> stack = [3, 4, 5]
120120
>>> stack.append(6)
@@ -135,12 +135,12 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
135135

136136
.. _tut-lists-as-queues:
137137

138-
把链表当作队列使用
138+
把列表当作队列使用
139139
---------------------
140140

141141
.. sectionauthor:: Ka-Ping Yee <ping@lfw.org>
142142

143-
你也可以把链表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)。
143+
你也可以把列表当做队列使用,队列作为特定的数据结构,最先进入的元素最先释放(先进先出)。不过,列表这样用效率不高。相对来说从列表末尾添加和弹出很快;在头部插入和弹出很慢(因为,为了一个元素,要移动整个列表中的所有元素)。
144144

145145
要实现队列,使用 `collections.deque`_,它为在首尾两端快速插入和删除而设计。例如::
146146

@@ -315,7 +315,7 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
315315
元组和序列
316316
====================
317317

318-
我们知道链表和字符串有很多通用的属性,例如索引和切割操作。它们是 *序列* 类型(参见 `Sequence Types — list, tuple, range`_ )中的两种。因为 Python 是一个在不停进化的语言,也可能会加入其它的序列类型,这里介绍另一种标准序列类型: *元组* 。
318+
我们知道列表和字符串有很多通用的属性,例如索引和切割操作。它们是 *序列* 类型(参见 `Sequence Types — list, tuple, range`_ )中的两种。因为 Python 是一个在不停进化的语言,也可能会加入其它的序列类型,这里介绍另一种标准序列类型: *元组* 。
319319

320320
一个元组由数个逗号分隔的值组成,例如::
321321

@@ -339,7 +339,7 @@ Python 的列表数据类型包含更多的方法。这里是所有的列表对
339339
([1, 2, 3], [3, 2, 1])
340340

341341

342-
如你所见,元组在输出时总是有括号的,以便于正确表达嵌套结构。在输入时可以有或没有括号,不过经常括号都是必须的(如果元组是一个更大的表达式的一部分)。不能给元组的一个独立的元素赋值(尽管你可以通过联接和切割来模拟)。还可以创建包含可变对象的元组,例如链表
342+
如你所见,元组在输出时总是有括号的,以便于正确表达嵌套结构。在输入时可以有或没有括号,不过经常括号都是必须的(如果元组是一个更大的表达式的一部分)。不能给元组的一个独立的元素赋值(尽管你可以通过联接和切割来模拟)。还可以创建包含可变对象的元组,例如列表
343343

344344
虽然元组和列表很类似,它们经常被用来在不同的情况和不同的用途。元组有很多用途。例如 (x, y) 坐标对,数据库中的员工记录等等。元组就像字符串, `不可变的`_。通常包含不同种类的元素并通过分拆(参阅本节后面的内容) 或索引访问(如果是 `namedtuples`_,甚至可以通过属性)。列表是 `可变的`_ ,它们的元素通常是相同类型的并通过迭代访问。
345345

@@ -408,9 +408,9 @@ Python 还包含了一个数据类型 —— *set* (集合)。集合是一
408408
字典
409409
============
410410

411-
另一个非常有用的 Python 内建数据类型是 *字典* (参见 `Mapping Types — dict`_ )。字典在某些语言中可能称为 联合内存 ( associative memories )或 联合数组 ( associative arrays )。序列是以连续的整数为索引,与此不同的是,字典以 *关键字* 为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它可以做为关键字,如果它直接或间接的包含了可变对象,就不能当做关键字。不能用链表做关键字,因为链表可以用索引、切割或者 :meth:`append` 和 :meth:`extend` 等方法改变。
411+
另一个非常有用的 Python 内建数据类型是 *字典* (参见 `Mapping Types — dict`_ )。字典在某些语言中可能称为 联合内存 ( associative memories )或 联合数组 ( associative arrays )。序列是以连续的整数为索引,与此不同的是,字典以 *关键字* 为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它可以做为关键字,如果它直接或间接的包含了可变对象,就不能当做关键字。不能用列表做关键字,因为列表可以用索引、切割或者 :meth:`append` 和 :meth:`extend` 等方法改变。
412412

413-
理解字典的最佳方式是把它看做无序的键: *值对* (key:value 对)集合,键必须是互不相同的(在同一个字典之内)。一对大括号创建一个空的字典: ``{}`` 。初始化链表时,在大括号内放置一组逗号分隔的键:值对,这也是字典输出的方式。
413+
理解字典的最佳方式是把它看做无序的键: *值对* (key:value 对)集合,键必须是互不相同的(在同一个字典之内)。一对大括号创建一个空的字典: ``{}`` 。初始化列表时,在大括号内放置一组逗号分隔的键:值对,这也是字典输出的方式。
414414

415415
字典的主要操作是依据键来存储和析取值。也可以用 ``del`` 来删除键:值对(key:value)。如果你用一个已经存在的关键字存储值,以前为该关键字分配的值就会被遗忘。试图从一个不存在的键中取值会导致错误。
416416

@@ -527,7 +527,7 @@ Python 还包含了一个数据类型 —— *set* (集合)。集合是一
527527

528528
``while`` 和 ``if`` 语句中使用的条件不仅可以使用比较,而且可以包含任意的操作。
529529

530-
比较操作符 ``in`` 和 ``not in`` 审核值是否在一个区间之内。操作符 ``is`` 和 ``is not`` 比较两个对象是否相同;这只和诸如链表这样的可变对象有关。所有的比较操作符具有相同的优先级,低于所有的数值操作。
530+
比较操作符 ``in`` 和 ``not in`` 审核值是否在一个区间之内。操作符 ``is`` 和 ``is not`` 比较两个对象是否相同;这只和诸如列表这样的可变对象有关。所有的比较操作符具有相同的优先级,低于所有的数值操作。
531531

532532
比较操作可以传递。例如 ``a < b == c`` 审核是否 ``a`` 小于 ``b`` 并且 ``b`` 等于 ``c``。
533533

@@ -560,7 +560,7 @@ Python 还包含了一个数据类型 —— *set* (集合)。集合是一
560560
(1, 2, 3) == (1.0, 2.0, 3.0)
561561
(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)
562562

563-
需要注意的是如果通过 ``<`` 或者 ``>`` 比较的对象只要具有合适的比较方法就是合法的。比如,混合数值类型是通过它们的数值就行比较的,所以 0 是等于 0.0 。否则解释器将会触发一个 `TypeError`_ 异常,而不是提供一个随意的结果。
563+
需要注意的是如果通过 ``<`` 或者 ``>`` 比较的对象只要具有合适的比较方法就是合法的。比如,混合数值类型是通过它们的数值进行比较的,所以 0 是等于 0.0 。否则解释器将会触发一个 `TypeError`_ 异常,而不是提供一个随意的结果。
564564

565565

566566
.. rubric:: Footnotes

0 commit comments

Comments
 (0)