mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
[3.14] gh-134026: Fix grammar description of for statement (GH-134034) (GH-134424)
gh-134026: Fix grammar description of for statement (GH-134034)
(cherry picked from commit 4eacf3883d
)
Co-authored-by: Yash Vijay <yash_vijay@outlook.com>
This commit is contained in:
parent
cdc92cd9fc
commit
6ea83e077e
2 changed files with 8 additions and 8 deletions
|
@ -154,15 +154,15 @@ The :keyword:`for` statement is used to iterate over the elements of a sequence
|
|||
(such as a string, tuple or list) or other iterable object:
|
||||
|
||||
.. productionlist:: python-grammar
|
||||
for_stmt: "for" `target_list` "in" `starred_list` ":" `suite`
|
||||
for_stmt: "for" `target_list` "in" `starred_expression_list` ":" `suite`
|
||||
: ["else" ":" `suite`]
|
||||
|
||||
The ``starred_list`` expression is evaluated once; it should yield an
|
||||
:term:`iterable` object. An :term:`iterator` is created for that iterable.
|
||||
The first item provided
|
||||
by the iterator is then assigned to the target list using the standard
|
||||
rules for assignments (see :ref:`assignment`), and the suite is executed. This
|
||||
repeats for each item provided by the iterator. When the iterator is exhausted,
|
||||
The :token:`~python-grammar:starred_expression_list` expression is evaluated
|
||||
once; it should yield an :term:`iterable` object. An :term:`iterator` is
|
||||
created for that iterable. The first item provided by the iterator is then
|
||||
assigned to the target list using the standard rules for assignments
|
||||
(see :ref:`assignment`), and the suite is executed. This repeats for each
|
||||
item provided by the iterator. When the iterator is exhausted,
|
||||
the suite in the :keyword:`!else` clause,
|
||||
if present, is executed, and the loop terminates.
|
||||
|
||||
|
|
|
@ -1928,7 +1928,7 @@ Expression lists
|
|||
single: , (comma); expression list
|
||||
|
||||
.. productionlist:: python-grammar
|
||||
starred_expression: ["*"] `or_expr`
|
||||
starred_expression: "*" `or_expr` | `expression`
|
||||
flexible_expression: `assignment_expression` | `starred_expression`
|
||||
flexible_expression_list: `flexible_expression` ("," `flexible_expression`)* [","]
|
||||
starred_expression_list: `starred_expression` ("," `starred_expression`)* [","]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue