Skip to content

gh-134026: Fix grammar description of for statement #134034

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 26 commits into from
May 21, 2025
Merged
Changes from 3 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6873af5
doc: clarify for_stmt grammar by replacing starred_list with expressi…
Yash-Vijay29 May 15, 2025
3795065
star_expressions
Yash-Vijay29 May 15, 2025
02c6d47
Merge branch 'main' into fix-for-stmt-docs
Yash-Vijay29 May 15, 2025
1152b1b
star_expressions
Yash-Vijay29 May 15, 2025
9967ec9
star_expressions
Yash-Vijay29 May 15, 2025
9442bf8
doc: clarify for_stmt grammar by replacing starred_list with expressi…
Yash-Vijay29 May 15, 2025
c9abb45
star_expressions
Yash-Vijay29 May 15, 2025
ec6005b
star_expressions
Yash-Vijay29 May 15, 2025
e760500
star_expressions
Yash-Vijay29 May 15, 2025
b8beb7d
star_expressions
Yash-Vijay29 May 16, 2025
7f53e8b
Merge remote-tracking branch 'origin/fix-for-stmt-docs' into fix-for-…
Yash-Vijay29 May 16, 2025
e908fce
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
50f1e09
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
8e860fa
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
0866ba2
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
27c94a6
Update compound_stmts.rst
Yash-Vijay29 May 16, 2025
99c40ff
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
a448548
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
32e1ee1
Merge branch 'python:main' into fix-for-stmt-docs
Yash-Vijay29 May 18, 2025
cab198f
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
5b1fad3
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
a4839cb
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
9af4d49
Update compound_stmts.rst
Yash-Vijay29 May 18, 2025
0ef3fb7
Merge branch 'main' into fix-for-stmt-docs
Yash-Vijay29 May 20, 2025
5ce932e
Update compound_stmts.rst
Yash-Vijay29 May 21, 2025
0417261
Update compound_stmts.rst
Yash-Vijay29 May 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions Doc/reference/compound_stmts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,21 +151,22 @@
single: : (colon); compound statement

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:
(such as a string, tuple, or list) or other iterable object:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see warnings on your pr.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay yea saw it. found a "starred_expression_list" in the https://docs.python.org/3/reference/expressions.html#grammar-token-python-grammar-starred_expression_list. I will try to link it to that instead then

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@skirpichev done, i reviewed it locally and doc seems proper. starred_list is turned into starred_expression_list mentioned already in https://docs.python.org/3/reference/expressions.html#grammar-token-python-grammar-starred_expression_list

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this comma? Seems unrelated to the pr content.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this comma? Seems unrelated to the pr content.

While changing i just noticed a small grammar error and thought of fixing it. Its a small mistake but comma should be there after the tuple, I can make a separate PR for it if you want

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@StanFromIreland, does this looks correct for you?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is an oxford comma, its usage is varied across contexts, but generally recommended in formal writing.

It is unrelated to this pr and not very important, I am not against it staying, but I wouldn't be heavily opposed to removing it either.


.. productionlist:: python-grammar

Check warning on line 156 in Doc/reference/compound_stmts.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

'token' reference target not found: python-grammar:star_expressions [ref.token]
for_stmt: "for" `target_list` "in" `starred_list` ":" `suite`
for_stmt: "for" `target_list` "in" `star_expressions` ":" `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 suite in the :keyword:`!else` clause,
The expression following ``in`` 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.

As of Python 3.11, unpacking with starred expressions (e.g., ``*x``) is supported

Check warning on line 167 in Doc/reference/compound_stmts.rst

View workflow job for this annotation

GitHub Actions / Docs / Docs

'token' reference target not found: star_expressions [ref.token]
in the iterable expression. This follows the same rules as :token:`star_expressions` in the grammar.

.. index::
pair: statement; break
pair: statement; continue
Expand Down
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy