Skip to content

gh-134082: Modernize docstrings in string.Formatter #134083

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 6 commits into from
May 16, 2025

Conversation

picnixz
Copy link
Member

@picnixz picnixz commented May 16, 2025

string.Formatter is using legacy docstrings that are picked up by pydoc but are not by modern IDEs. I suggest changing them to regular docstrings.

@picnixz picnixz requested a review from serhiy-storchaka May 16, 2025 12:01
Copy link
Member

@serhiy-storchaka serhiy-storchaka left a comment

Choose a reason for hiding this comment

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

LGTM. 👍

@picnixz picnixz enabled auto-merge (squash) May 16, 2025 18:05
@picnixz picnixz merged commit b5febf7 into python:main May 16, 2025
38 checks passed
@picnixz picnixz deleted the feat/string/reST-docs-134082 branch May 17, 2025 07:49
# loop through the rest of the field_name, doing
# getattr or getitem as needed
for is_attr, i in rest:
if is_attr:
obj = getattr(obj, i)
else:
obj = obj[i]

Copy link
Member

Choose a reason for hiding this comment

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

why remove empty lines that provide «breathing space» and make it easy to follow the code?

Copy link
Member Author

Choose a reason for hiding this comment

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

Mmh, I shouldn't have removed those ones indeed. My bad. I however think that too many empty lines hinder the flow but I should have left them out in this case. I'll try to keep in mind. Note that from what I saw in more modern code, we tend to avoid too many blank lines in general except in long functions where logical sections are split.

Copy link
Member

Choose a reason for hiding this comment

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

I agree with @picnixz. PEP 8 says to use a single blank line to separate methods and two blank lines to separate top-level functions and classes (there are also exceptions). https://peps.python.org/pep-0008/#blank-lines

We don't usually make changes solely to meet PEP 8 requirements, but in this case I think it was justified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants