https://github.com/python/cpython/commit/4eacf3883dd041c31133ea407204b797a17559b1
commit: 4eacf3883dd041c31133ea407204b797a17559b1
branch: main
author: Yash Vijay <[email protected]>
committer: encukou <[email protected]>
date: 2025-05-21T16:09:28+02:00
summary:
gh-134026: Fix grammar description of for statement (GH-134034)
files:
M Doc/reference/compound_stmts.rst
M Doc/reference/expressions.rst
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 5d4298f70e0e14..e95fa3a6424e23 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -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.
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 8837344e5ddca1..2a550b504ca765 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -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`)*
[","]
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]