-
-
Notifications
You must be signed in to change notification settings - Fork 33.6k
gh-111746: Doc: Format built-in function's attributes #113574
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
base: main
Are you sure you want to change the base?
Changes from 5 commits
d2bd9fa
57b4ca3
af75429
1a43871
d0d42d4
37ea418
6d3808a
a1a8231
c6ed4e6
da72b09
3051d0c
18d148c
4fdb837
e207114
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -266,4 +266,3 @@ Examples:: | |
|
|
||
| `NumPy <https://numpy.org/>`_ | ||
| The NumPy package defines another array type. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -666,9 +666,14 @@ callable object (normally a user-defined function). | |
| single: __name__ (method attribute) | ||
| single: __module__ (method attribute) | ||
|
|
||
| Special read-only attributes: | ||
| Special read-only attributes | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think it really makes sense to make this a separate subsection, since there are no other subsections inside the datamodel section on instance methods. I'd just keep this as a sentence ending with a colon, personally |
||
|
|
||
| .. list-table:: | ||
| :header-rows: 1 | ||
|
|
||
| * - Attribute | ||
| - Meaning | ||
|
|
||
| * - .. attribute:: method.__self__ | ||
| - Refers to the class instance object to which the method is | ||
|
|
@@ -804,16 +809,34 @@ Built-in functions | |
| A built-in function object is a wrapper around a C function. Examples of | ||
| built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a | ||
| standard built-in module). The number and type of the arguments are | ||
| determined by the C function. Special read-only attributes: | ||
| determined by the C function. | ||
|
|
||
| Special read-only attributes | ||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here, I'm not sure it really makes sense to make this a distinct subsection when there aren't any other subsections inside the datamodel section on builtin functions
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I thought about that, and I decided by subsection because:
Actually, when I opened the issue, I thought about a unique table for both attributes with a column to identify the kind, as the
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Those are all reasonable points! I don't mind the new subsection in the section on builtin functions too much; I'm happy for that to stay. I do think the new subsection in the section on instance methods makes it more confusing, however. It implies that the entirety of the section on instance methods is about their special read-only attributes, except for the first paragraph. This isn't true: the final paragraph in section 3.2.8.2 has nothing to do with the special read-only methods of instance methods:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if do we move this paragraph to the second paragraph? This seems an explanation for the first one.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well, what about these two paragraphs?
The first paragraph is about the special read-only attributes of method objects; the second one isn't (it's about a broader topic to do with the semantics of Python methods). So maybe we should move the second paragraph out of the section about the special read-only attributes -- but that would make no sense; it's much more logical to talk about how the For the section on instance methods, I think the existing structure -- where the special read-only attributes are discussed at the same time as other details on method semantics -- makes most sense. Unless you want to propose reworking the whole section on instance methods (which should go into a separate PR, IMO), I don't think we should add a subsection just for the read-only attributes.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Despite this, I think that we can consider all these paragraphs as about the attributes. They talk about how the attributes work together to element (object, class, method..) to work as well. The attributes are cited a lot of time. In first look, I understand this paragraph under attributes this way. However, I also noted some paragraphs didn't are about the attribute, but about the element. I would propose moving these paragraphs to the introduction of the section, probrably. Another two idea are:
I prefer first option (although more work), but the second one also provide consistence.
Shall we do this together. Some details about it can scape me. :) I think what I told above is in this direction. (Sorry for any confused thought. It is a brainstorm)
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm sorry, but I still disagree that using a subsection for the |
||
|
|
||
| .. list-table:: | ||
| :header-rows: 1 | ||
|
|
||
| * - Attribute | ||
| - Meaning | ||
|
|
||
| * - .. attribute:: function.__doc__ | ||
AlexWaygood marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| :noindex: | ||
| - The function's documentation string, or ``None`` if unavailable. | ||
| See :attr:`function.__doc__`. | ||
|
|
||
| * - .. attribute:: function.__name__ | ||
| :noindex: | ||
| - The function's name. | ||
| See :attr:`function.__name__`. | ||
|
|
||
| * :attr:`!__doc__` is the function's documentation string, or ``None`` if | ||
| unavailable. See :attr:`function.__doc__`. | ||
| * :attr:`!__name__` is the function's name. See :attr:`function.__name__`. | ||
| * :attr:`!__self__` is set to ``None`` (but see the next item). | ||
| * :attr:`!__module__` is the name of | ||
| the module the function was defined in or ``None`` if unavailable. | ||
| See :attr:`function.__module__`. | ||
| * - .. attribute:: function.__self__ | ||
| - It is set to ``None`` (but see :ref:`built-in methods <builtin-methods>`). | ||
adorilson marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| * - .. attribute:: function.__module__ | ||
| :noindex: | ||
| - The name of the module the function was defined in, | ||
| or ``None`` if unavailable. See :attr:`function.__module__`. | ||
|
|
||
| .. _builtin-methods: | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.