@@ -12,7 +12,7 @@ msgid ""
1212msgstr ""
1313"Project-Id-Version : Python 3.12\n "
1414"Report-Msgid-Bugs-To : \n "
15- "POT-Creation-Date : 2024-10-04 14:53 +0000\n "
15+ "POT-Creation-Date : 2024-10-11 14:48 +0000\n "
1616"PO-Revision-Date : 2024-05-11 00:34+0000\n "
1717"
Last-Translator :
Rafael Fontenelle <[email protected] >, 2024\n "
1818"Language-Team : Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n "
@@ -628,6 +628,14 @@ msgid ""
628628":const:`None`. Otherwise, if :meth:`~generator.send` is used, then the "
629629"result will be the value passed in to that method."
630630msgstr ""
631+ "当一个生成器函数被调用时,它将返回一个名为生成器的迭代器。 然后这个生成器将控制生成器函数的执行。 执行过程会在这个生成器的某个方法被调用时开始。 "
632+ "这时,函数会执行到第一个 yield 表达式,在那里它将再次被挂起,向生成器的调用方返回 :token:`~python-"
633+ "grammar:yield_list` 的值,或者如果 :token:`~python-grammar:yield_list` 被省略则返回 "
634+ "``None``。 所谓的挂起,就是说所有局部状态都会被保留,包括局部变量的当前绑定、指令指针、内部求值栈及任何异常处理等等。 "
635+ "当通过调用生成器的某个方法恢复执行时,这个函数的运行就与 yield 表达式只是一个外部调用的情况完全一样。 在恢复执行后 yield "
636+ "表达式的值取决于恢复执行所调用的方法。 如果是用 :meth:`~generator.__next__` (一般是通过 :keyword:`for` "
637+ "或者 :func:`next` 内置函数) 则结果为 :const:`None`。 在其他情况下,如果是用 "
638+ ":meth:`~generator.send`,则结果将为传给该方法的值。"
631639
632640#: ../../reference/expressions.rst:504
633641msgid ""
@@ -759,6 +767,10 @@ msgid ""
759767"caller. If the generator exits without yielding another value, a "
760768":exc:`StopIteration` exception is raised."
761769msgstr ""
770+ "开始一个生成器函数的执行或是从上次执行 yield 表达式的位置恢复执行。 当一个生成器函数通过 :meth:`~generator.__next__`"
771+ " 方法恢复执行时,当前的 yield 表达式总是取值为 :const:`None`。 随后会继续执行到下一个 yield "
772+ "表达式,这时生成器将再次挂起,而 :token:`~python-grammar:yield_list` 的值会被返回给 "
773+ ":meth:`__next__` 的调用方。 如果生成器没有产生下一个值就退出,则将引发 :exc:`StopIteration` 异常。"
762774
763775#: ../../reference/expressions.rst:583
764776msgid ""
@@ -941,6 +953,12 @@ msgid ""
941953"Otherwise, if :meth:`~agen.asend` is used, then the result will be the value"
942954" passed in to that method."
943955msgstr ""
956+ "调用某个异步生成器的方法将返回一个 :term:`awaitable` 对象,执行会在此对象被等待时启动。 到那时,将执行至第一个 yield "
957+ "表达式,在那里它会再次挂起,将 :token:`~python-grammar:yield_list` 的值返回给等待中的协程。 "
958+ "与生成器一样,挂起意味着所有局部状态会被保留,包括局部变量的当前绑定、指令指针、内部求值栈以及任何异常处理的状态。 "
959+ "当执行在等待异步生成器的方法返回下一个对象后恢复时,该函数可以从原状态继续执行,就仿佛 yield 表达式只是另一个外部调用那样。 恢复执行后 "
960+ "yield 表达式的值取决于恢复执行所用的方法。 如果是使用 :meth:`~agen.__anext__` 则结果为 :const:`None`。 "
961+ "否则的话,如果是使用 :meth:`~agen.asend`,则结果将是传递给该方法的值。"
944962
945963#: ../../reference/expressions.rst:703
946964msgid ""
@@ -1025,6 +1043,11 @@ msgid ""
10251043":exc:`StopAsyncIteration` exception, signalling that the asynchronous "
10261044"iteration has completed."
10271045msgstr ""
1046+ "返回一个可等待对象,它在运行时会开始执行该异步生成器或是从上次执行的 yield 表达式位置恢复执行。 当一个异步生成器通过 "
1047+ ":meth:`~agen.__anext__` 方法恢复执行时,当前的 yield 表达或所返回的可等待对象总是取值为 "
1048+ ":const:`None`,它在运行时将继续执行到下一个 yield 表达式。 该 yield 表达式的 :token:`~python-"
1049+ "grammar:yield_list` 的值会是完成的协程所引发的 :exc:`StopIteration` 异步的值。 "
1050+ "如果异步生成器没有产生下一个值就退出,则该可等待对象将引发 :exc:`StopAsyncIteration` 异常,提示该异步迭代操作已完成。"
10281051
10291052#: ../../reference/expressions.rst:762
10301053msgid ""
@@ -1045,6 +1068,11 @@ msgid ""
10451068"called with :const:`None` as the argument, because there is no yield "
10461069"expression that could receive the value."
10471070msgstr ""
1071+ "返回一个可等待对象,它在运行时会恢复该异步生成器的执行。 与生成器的 :meth:`~generator.send` "
1072+ "方法一样,此方法会“发送”一个值给异步生成器函数,其 *value* 参数会成为当前 yield 表达式的结果值。 :meth:`asend` "
1073+ "方法所返回的可等待对象会将所引发的 :exc:`StopIteration` "
1074+ "作为生成器产生的下一个值返回,或者如果异步生成器没有产生下一个值就退出则引发 :exc:`StopAsyncIteration`。 当调用 "
1075+ ":meth:`asend` 来启动异步生成器时,它必须以 :const:`None` 作为参数被调用,因为这时没有可以接收值的 yield 表达式。"
10481076
10491077#: ../../reference/expressions.rst:783
10501078msgid ""
0 commit comments