Skip to content

Commit

Permalink
[docs] lexical_analysis: Expand the text on _ (GH-28903)
Browse files Browse the repository at this point in the history
Also:
* Expand the discussion into its own entry. (Even before this,
  text on ``_`` was longet than the text on ``_*``.)

* Briefly note the other common convention for `_`: naming unused
  variables.

Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
  • Loading branch information
4 people committed Oct 13, 2021
1 parent 6fafc25 commit 3dee0cb
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions Doc/reference/lexical_analysis.rst
Expand Up @@ -385,17 +385,29 @@ classes are identified by the patterns of leading and trailing underscore
characters:

``_*``
Not imported by ``from module import *``. The special identifier ``_`` is used
in the interactive interpreter to store the result of the last evaluation; it is
stored in the :mod:`builtins` module. When not in interactive mode, ``_``
has no special meaning and is not defined. See section :ref:`import`.
Not imported by ``from module import *``.

``_``
In a ``case`` pattern within a :keyword:`match` statement, ``_`` is a
:ref:`soft keyword <soft-keywords>` that denotes a
:ref:`wildcard <wildcard-patterns>`.

Separately, the interactive interpreter makes the result of the last evaluation
available in the variable ``_``.
(It is stored in the :mod:`builtins` module, alongside built-in
functions like ``print``.)

Elsewhere, ``_`` is a regular identifier. It is often used to name
"special" items, but it is not special to Python itself.

.. note::

The name ``_`` is often used in conjunction with internationalization;
refer to the documentation for the :mod:`gettext` module for more
information on this convention.

It is also commonly used for unused variables.

``__*__``
System-defined names, informally known as "dunder" names. These names are
defined by the interpreter and its implementation (including the standard library).
Expand Down

0 comments on commit 3dee0cb

Please sign in to comment.