Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7ef392f

Browse files
[po] auto sync
1 parent cf0eaa5 commit 7ef392f

1 file changed

Lines changed: 40 additions & 1 deletion

File tree

reference/datamodel.po

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3296,24 +3296,32 @@ msgid ""
32963296
" ``dict[str, float]`` and ``tuple[str, bytes]`` all result in "
32973297
":meth:`~object.__class_getitem__` being called::"
32983298
msgstr ""
3299+
"在 Python 中,所有的类自身也是其他类的实例。 一个类所属的类被称为该类的 :term:`metaclass`,并且大多数类都将 "
3300+
":class:`type` 类作为它们的元类。 :class:`type` 没有定义 :meth:`~object.__getitem__`,这意味着 "
3301+
"``list[int]``, ``dict[str, float]`` 和 ``tuple[str, bytes]`` 这样的表达式都将导致 "
3302+
":meth:`~object.__class_getitem__` 被调用::"
32993303

33003304
#: ../../reference/datamodel.rst:2309
33013305
msgid ""
33023306
"However, if a class has a custom metaclass that defines "
33033307
":meth:`~object.__getitem__`, subscribing the class may result in different "
33043308
"behaviour. An example of this can be found in the :mod:`enum` module::"
33053309
msgstr ""
3310+
"然而,如果一个类属于定义了 :meth:`~object.__getitem__` 的自定义元类,则抽取该类可能导致不同的行为。 这方面的一个例子可以在"
3311+
" :mod:`enum` 模块中找到::"
33063312

33073313
#: ../../reference/datamodel.rst:2334
33083314
msgid ":pep:`560` - Core Support for typing module and generic types"
3309-
msgstr ""
3315+
msgstr ":pep:`560` - 对 typing 模块和泛型的核心支持"
33103316

33113317
#: ../../reference/datamodel.rst:2333
33123318
msgid ""
33133319
"Introducing :meth:`~object.__class_getitem__`, and outlining when a "
33143320
":ref:`subscription<subscriptions>` results in ``__class_getitem__()`` being "
33153321
"called instead of :meth:`~object.__getitem__`"
33163322
msgstr ""
3323+
"介绍 :meth:`~object.__class_getitem__`,并指明 :ref:`抽取 <subscriptions>` 在何时会导致 "
3324+
"``__class_getitem__()`` 而不是 :meth:`~object.__getitem__` 被调用"
33173325

33183326
#: ../../reference/datamodel.rst:2341
33193327
msgid "Emulating callable objects"
@@ -3368,6 +3376,25 @@ msgid ""
33683376
"container; for mappings, :meth:`__iter__` should iterate through the "
33693377
"object's keys; for sequences, it should iterate through the values."
33703378
msgstr ""
3379+
"可以定义下列方法来实现容器对象。 窗口通常属于 :term:`序列 <sequence>` (如 :class:`列表 <list>` 或 "
3380+
":class:`元组 <tuple>`) 或者 :term:`映射 <mapping>` (如 :class:`字典 "
3381+
"<dict>`),但也有表现为其他形式的容器。 前几个方法被用来模拟序列或是模拟映射;两者的不同之处在于序列允许的键应为整数 *k* 并且 ``0 <="
3382+
" k < N`` 其中 *N* 是序列或 :class:`slice` 对象的长度,它们定义了条目的范围。 此外还建议让映射提供 "
3383+
":meth:`keys`, :meth:`values`, :meth:`items`, :meth:`get`, :meth:`clear`, "
3384+
":meth:`setdefault`, :meth:`pop`, :meth:`popitem`, :meth:`!copy` 以及 "
3385+
":meth:`update` 等方法,它们的行为应与 Python 的标准 :class:`字典 <dict>` 对象类似。 此外 "
3386+
":mod:`collections.abc` 模块提供了一个 :class:`~collections.abc.MutableMapping` "
3387+
":term:`abstract base class` 以便根据由 :meth:`~object.__getitem__`, "
3388+
":meth:`~object.__setitem__`, :meth:`~object.__delitem__` 和 :meth:`keys` "
3389+
"组成的基本集来创建所需的方法。 可变序列还应提供 :meth:`append`, :meth:`count`, :meth:`index`, "
3390+
":meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:`reverse`"
3391+
" 和 :meth:`sort` 等方法,就像 Python 的标准 :class:`list` 对象那样。 最后,序列类型还应通过定义下文描述的 "
3392+
":meth:`~object.__add__`, :meth:`~object.__radd__`, :meth:`~object.__iadd__`,"
3393+
" :meth:`~object.__mul__`, :meth:`~object.__rmul__` 和 "
3394+
":meth:`~object.__imul__` 等方法来实现加法(指拼接)和乘法(指重复);它们不应定义其他数值运算符。 此外还建议映射和序列都实现 "
3395+
":meth:`~object.__contains__` 方法以允许高效地使用 ``in`` 运算符;对于映射,``in`` "
3396+
"应当搜索映射的键;对于序列,则应当搜索其中的值。 另外还建议映射和序列都实现 :meth:`~object.__iter__` "
3397+
"方法以允许高效地迭代容器中的条目;对于映射,:meth:`__iter__` 应当迭代对象的键;对于序列,则应当迭代其中的值。"
33713398

33723399
#: ../../reference/datamodel.rst:2397
33733400
msgid ""
@@ -3430,6 +3457,11 @@ msgid ""
34303457
":term:`mapping` types, if *key* is missing (not in the container), "
34313458
":exc:`KeyError` should be raised."
34323459
msgstr ""
3460+
"调用此方法以实现 ``self[key]`` 的未付。 对于 :term:`sequence` 类型,接受的键应为整数和切片对象。 "
3461+
"请注意负数索引(如果类想要模拟 :term:`sequence` 类型)的特殊解读是依赖于 :meth:`__getitem__` 方法。 如果 "
3462+
"*key* 的类型不正确,则会引发 :exc:`TypeError`;如果为序列索引集范围以外的值(在进行任何负数索引的特殊解读之后),则应当引发 "
3463+
":exc:`IndexError`。 对于 :term:`mapping` 类型,如果 *key* 找不到(不在容器中),则应当引发 "
3464+
":exc:`KeyError`。"
34333465

34343466
#: ../../reference/datamodel.rst:2452
34353467
msgid ""
@@ -3443,6 +3475,9 @@ msgid ""
34433475
":meth:`~object.__class_getitem__` may be called instead of "
34443476
"``__getitem__()``. See :ref:`classgetitem-versus-getitem` for more details."
34453477
msgstr ""
3478+
"当 :ref:`抽取 <subscriptions>` 一个 *class* 时,可能会调用特殊类方法 "
3479+
":meth:`~object.__class_getitem__` 而不是 ``__getitem__()``。 请参阅 "
3480+
":ref:`classgetitem-versus-getitem` 了解详情。"
34463481

34473482
#: ../../reference/datamodel.rst:2465
34483483
msgid ""
@@ -3483,6 +3518,8 @@ msgid ""
34833518
"the objects in the container. For mappings, it should iterate over the keys"
34843519
" of the container."
34853520
msgstr ""
3521+
"此方法会在需要为一个容器创建 :term:`iterator` 时被调用。 此方法应当返回一个新的迭代器对象,它可以对容器中的所有对象执行迭代。 "
3522+
"对于映射,它应当对窗口中的键执行迭代。"
34863523

34873524
#: ../../reference/datamodel.rst:2497
34883525
msgid ""
@@ -3679,6 +3716,8 @@ msgid ""
36793716
"The built-in function :func:`int` falls back to :meth:`__trunc__` if neither"
36803717
" :meth:`__int__` nor :meth:`__index__` is defined."
36813718
msgstr ""
3719+
"如果 :meth:`__int__` 或 :meth:`__index__` 均未被定义则内置函数 :func:`int` 会回退至 "
3720+
":meth:`__trunc__`。"
36823721

36833722
#: ../../reference/datamodel.rst:2699
36843723
msgid "With Statement Context Managers"

0 commit comments

Comments
 (0)