FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

bpo-43573: clarify the attribute docs for types.ModuleType by brettcannon · Pull Request #24974 · python/cpython · GitHub

Repository navigation

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .rst  (1) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
32 changes: 30 additions & 2 deletions Doc/library/types.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ Standard names are defined for the following types:

.. class:: ModuleType(name, doc=None)

The type of :term:`modules <module>`. Constructor takes the name of the
The type of :term:`modules <module>`. The constructor takes the name of the
module to be created and optionally its :term:`docstring`.

.. note::
Expand All @@ -238,12 +238,23 @@ Standard names are defined for the following types:

The :term:`loader` which loaded the module. Defaults to ``None``.

This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader`
as stored in the attr:`__spec__` object.

.. note::
A future version of Python may stop setting this attribute by default.
To guard against this potential change, preferrably read from the
:attr:`__spec__` attribute instead or use
``getattr(module, "__loader__", None)`` if you explicitly need to use
this attribute.

.. versionchanged:: 3.4
Defaults to ``None``. Previously the attribute was optional.

.. attribute:: __name__

The name of the module.
The name of the module. Expected to match
:attr:`importlib.machinery.ModuleSpec.name`.

.. attribute:: __package__

Expand All @@ -252,9 +263,26 @@ Standard names are defined for the following types:
to ``''``, else it should be set to the name of the package (which can be
:attr:`__name__` if the module is a package itself). Defaults to ``None``.

This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent`
as stored in the attr:`__spec__` object.

.. note::
A future version of Python may stop setting this attribute by default.
To guard against this potential change, preferrably read from the
:attr:`__spec__` attribute instead or use
``getattr(module, "__package__", None)`` if you explicitly need to use
this attribute.

.. versionchanged:: 3.4
Defaults to ``None``. Previously the attribute was optional.

.. attribute:: __spec__

A record of the the module's import-system-related state. Expected to be
an instance of :class:`importlib.machinery.ModuleSpec`.

.. versionadded:: 3.4


.. data:: EllipsisType

Expand Down

Back | FazBrowse Home | New Git URL