[3.11] gh-101100: Fix most Sphinx nitpicks in inspect.rst (GH-112662) (#112667)

gh-101100: Fix most Sphinx nitpicks in `inspect.rst` (GH-112662)
(cherry picked from commit 45650d1c47)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Miss Islington (bot) 2023-12-03 18:39:10 +01:00 committed by GitHub
parent 36ad8e61a6
commit 05ea7e5d4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 9 deletions

View file

@ -149,6 +149,9 @@ nitpick_ignore = [
('envvar', 'USER'), ('envvar', 'USER'),
('envvar', 'USERNAME'), ('envvar', 'USERNAME'),
('envvar', 'USERPROFILE'), ('envvar', 'USERPROFILE'),
# Deprecated function that was never documented:
('py:func', 'getargspec'),
('py:func', 'inspect.getargspec'),
] ]
# Temporary undocumented names. # Temporary undocumented names.

View file

@ -273,7 +273,7 @@ attributes (see :ref:`import-mod-attrs` for module attributes):
:func:`getmembers` will only return class attributes defined in the :func:`getmembers` will only return class attributes defined in the
metaclass when the argument is a class and those attributes have been metaclass when the argument is a class and those attributes have been
listed in the metaclass' custom :meth:`__dir__`. listed in the metaclass' custom :meth:`~object.__dir__`.
.. function:: getmembers_static(object[, predicate]) .. function:: getmembers_static(object[, predicate])
@ -466,12 +466,13 @@ attributes (see :ref:`import-mod-attrs` for module attributes):
has a :meth:`~object.__get__` method but not a :meth:`~object.__set__` has a :meth:`~object.__get__` method but not a :meth:`~object.__set__`
method, but beyond that the set of attributes varies. A method, but beyond that the set of attributes varies. A
:attr:`~definition.__name__` attribute is usually :attr:`~definition.__name__` attribute is usually
sensible, and :attr:`__doc__` often is. sensible, and :attr:`!__doc__` often is.
Methods implemented via descriptors that also pass one of the other tests Methods implemented via descriptors that also pass one of the other tests
return ``False`` from the :func:`ismethoddescriptor` test, simply because the return ``False`` from the :func:`ismethoddescriptor` test, simply because the
other tests promise more -- you can, e.g., count on having the other tests promise more -- you can, e.g., count on having the
:attr:`__func__` attribute (etc) when an object passes :func:`ismethod`. :ref:`__func__ <instance-methods>` attribute (etc) when an object passes
:func:`ismethod`.
.. function:: isdatadescriptor(object) .. function:: isdatadescriptor(object)
@ -482,7 +483,7 @@ attributes (see :ref:`import-mod-attrs` for module attributes):
Examples are properties (defined in Python), getsets, and members. The Examples are properties (defined in Python), getsets, and members. The
latter two are defined in C and there are more specific tests available for latter two are defined in C and there are more specific tests available for
those types, which is robust across Python implementations. Typically, data those types, which is robust across Python implementations. Typically, data
descriptors will also have :attr:`~definition.__name__` and :attr:`__doc__` attributes descriptors will also have :attr:`~definition.__name__` and :attr:`!__doc__` attributes
(properties, getsets, and members have both of these attributes), but this is (properties, getsets, and members have both of these attributes), but this is
not guaranteed. not guaranteed.
@ -1401,7 +1402,8 @@ Fetching attributes statically
Both :func:`getattr` and :func:`hasattr` can trigger code execution when Both :func:`getattr` and :func:`hasattr` can trigger code execution when
fetching or checking for the existence of attributes. Descriptors, like fetching or checking for the existence of attributes. Descriptors, like
properties, will be invoked and :meth:`__getattr__` and :meth:`__getattribute__` properties, will be invoked and :meth:`~object.__getattr__` and
:meth:`~object.__getattribute__`
may be called. may be called.
For cases where you want passive introspection, like documentation tools, this For cases where you want passive introspection, like documentation tools, this
@ -1411,7 +1413,8 @@ but avoids executing code when it fetches attributes.
.. function:: getattr_static(obj, attr, default=None) .. function:: getattr_static(obj, attr, default=None)
Retrieve attributes without triggering dynamic lookup via the Retrieve attributes without triggering dynamic lookup via the
descriptor protocol, :meth:`__getattr__` or :meth:`__getattribute__`. descriptor protocol, :meth:`~object.__getattr__`
or :meth:`~object.__getattribute__`.
Note: this function may not be able to retrieve all attributes Note: this function may not be able to retrieve all attributes
that getattr can fetch (like dynamically created attributes) that getattr can fetch (like dynamically created attributes)

View file

@ -627,6 +627,8 @@ code object; see the description of internal types below. The
module. module.
.. _instance-methods:
Instance methods Instance methods
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^

View file

@ -1677,8 +1677,9 @@ Some smaller changes made to the core Python language are:
(:issue:`1591665`) (:issue:`1591665`)
* Instance method objects have new attributes for the object and function * Instance method objects have new attributes for the object and function
comprising the method; the new synonym for :attr:`im_self` is comprising the method; the new synonym for :attr:`!im_self` is
:attr:`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. :ref:`__self__ <instance-methods>`, and :attr:`!im_func` is also available as
:ref:`__func__ <instance-methods>`.
The old names are still supported in Python 2.6, but are gone in 3.0. The old names are still supported in Python 2.6, but are gone in 3.0.
* An obscure change: when you use the :func:`locals` function inside a * An obscure change: when you use the :func:`locals` function inside a

View file

@ -860,7 +860,8 @@ Some smaller changes made to the core Python language are:
* When using ``@classmethod`` and ``@staticmethod`` to wrap * When using ``@classmethod`` and ``@staticmethod`` to wrap
methods as class or static methods, the wrapper object now methods as class or static methods, the wrapper object now
exposes the wrapped function as their :attr:`__func__` attribute. exposes the wrapped function as their :ref:`__func__ <instance-methods>`
attribute.
(Contributed by Amaury Forgeot d'Arc, after a suggestion by (Contributed by Amaury Forgeot d'Arc, after a suggestion by
George Sakkis; :issue:`5982`.) George Sakkis; :issue:`5982`.)