@@ -1463,24 +1463,26 @@ msgstr "回溯对象现在可以使用 Python 代码显式地实例化,现有
14631463
14641464#: ../../reference/datamodel.rst:1092
14651465msgid "Slice objects"
1466- msgstr ""
1466+ msgstr "切片对象 "
14671467
14681468#: ../../reference/datamodel.rst:1071
14691469msgid ""
14701470"Slice objects are used to represent slices for :meth:`__getitem__` methods."
14711471" They are also created by the built-in :func:`slice` function."
1472- msgstr ""
1472+ msgstr "切片对象用来表示 :meth:`__getitem__` 方法得到的切片。该对象也可使用内置的 :func:`slice` 函数来创建。 "
14731473
14741474#: ../../reference/datamodel.rst:1079
14751475msgid ""
14761476"Special read-only attributes: :attr:`~slice.start` is the lower bound; "
14771477":attr:`~slice.stop` is the upper bound; :attr:`~slice.step` is the step "
14781478"value; each is ``None`` if omitted. These attributes can have any type."
14791479msgstr ""
1480+ "特殊的只读属性: :attr:`~slice.start` 为下界; :attr:`~slice.stop` 为上界; "
1481+ ":attr:`~slice.step` 为步长值; 各值如省略则为 ``None``。这些属性可具有任意类型。"
14801482
14811483#: ../../reference/datamodel.rst:1083
14821484msgid "Slice objects support one method:"
1483- msgstr ""
1485+ msgstr "切片对象支持一个方法: "
14841486
14851487#: ../../reference/datamodel.rst:1087
14861488msgid ""
@@ -1491,10 +1493,13 @@ msgid ""
14911493"stride length of the slice. Missing or out-of-bounds indices are handled in "
14921494"a manner consistent with regular slices."
14931495msgstr ""
1496+ "此方法接受一个整型参数 *length* 并计算在切片对象被应用到 *length* "
1497+ "指定长度的条目序列时切片的相关信息应如何描述。其返回值为三个整型数组成的元组;这些数分别为切片的 *start* 和 *stop* 索引号以及 "
1498+ "*step* 步长值。索引号缺失或越界则按照正规连续切片的方式处理。"
14941499
14951500#: ../../reference/datamodel.rst:1102
14961501msgid "Static method objects"
1497- msgstr ""
1502+ msgstr "静态方法对象 "
14981503
14991504#: ../../reference/datamodel.rst:1095
15001505msgid ""
@@ -1507,10 +1512,12 @@ msgid ""
15071512"callable, although the objects they wrap usually are. Static method objects "
15081513"are created by the built-in :func:`staticmethod` constructor."
15091514msgstr ""
1515+ "静态方法对象提供了一种避免上文所述将函数对象转换为方法对象的方式。静态方法对象为对任意其他对象的封装,通常用来封装用户定义方法对象。当从类或类实例获取一个静态方法对象时,实际返回的对象是封装的对象,它不会被进一步转换。静态方法对象自身不是可调用的,但它们所封装的对象通常都是可调用的。静态方法对象可通过内置的"
1516+ " :func:`staticmethod` 构造器来创建。"
15101517
15111518#: ../../reference/datamodel.rst:1110
15121519msgid "Class method objects"
1513- msgstr ""
1520+ msgstr "类方法对象 "
15141521
15151522#: ../../reference/datamodel.rst:1105
15161523msgid ""
@@ -1520,10 +1527,12 @@ msgid ""
15201527" retrieval is described above, under \" User-defined methods\" . Class method "
15211528"objects are created by the built-in :func:`classmethod` constructor."
15221529msgstr ""
1530+ "类方法对象和静态方法一样是对其他对象的封装,会改变从类或类实例获取该对象的方式。类方法对象在此类获取操作中的行为已在上文 \" 用户定义方法\" "
1531+ "一节中描述。类方法对象可通过内置的 :func:`classmethod` 构造器来创建。"
15231532
15241533#: ../../reference/datamodel.rst:1115
15251534msgid "Special method names"
1526- msgstr ""
1535+ msgstr "特殊方法名称 "
15271536
15281537#: ../../reference/datamodel.rst:1121
15291538msgid ""
@@ -1538,6 +1547,11 @@ msgid ""
15381547"appropriate method is defined (typically :exc:`AttributeError` or "
15391548":exc:`TypeError`)."
15401549msgstr ""
1550+ "一个类可以通过定义具有特殊名称的方法来实现由特殊语法所引发的特定操作 (例如算术运算或下标与切片)。这是 Python 实现 :dfn:`操作符重载` "
1551+ "的方式,允许每个类自行定义基于操作符的特定行为。例如,如果一个类定义了名为 :meth:`__getitem__` 的方法,并且 ``x`` "
1552+ "为该类的一个实例,则 ``x[i]`` 基本就等同于 ``type(x).__getitem__(x, "
1553+ "i)``。除非有说明例外情况,在没有定义适当方法的情况下尝试执行一种操作将引发一个异常 (通常为 :exc:`AttributeError` 或 "
1554+ ":exc:`TypeError`)。"
15411555
15421556#: ../../reference/datamodel.rst:1131
15431557msgid ""
@@ -1547,6 +1561,9 @@ msgid ""
15471561"instances will raise a :exc:`TypeError` (without falling back to "
15481562":meth:`__getitem__`). [#]_"
15491563msgstr ""
1564+ "将一个特殊方法设为 ``None`` 表示对应的操作不可用。例如,如果一个类将 :meth:`__iter__` 设为 "
1565+ "``None``,则该类就是不可迭代的,因此对其实例调用 :func:`iter` 将引发一个 :exc:`TypeError` (而不会回退至 "
1566+ ":meth:`__getitem__`). [#]_"
15501567
15511568#: ../../reference/datamodel.rst:1137
15521569msgid ""
0 commit comments