mirror of
https://github.com/python/cpython.git
synced 2025-11-03 11:23:31 +00:00
Elaborate the explanation of different flavors of _* identifiers.
Fixes SF bug #520325.
This commit is contained in:
parent
c0678ffc60
commit
38f6b8845b
1 changed files with 31 additions and 17 deletions
|
|
@ -320,25 +320,39 @@ In some future version of Python, the identifiers \code{as} and
|
||||||
\subsection{Reserved classes of identifiers\label{id-classes}}
|
\subsection{Reserved classes of identifiers\label{id-classes}}
|
||||||
|
|
||||||
Certain classes of identifiers (besides keywords) have special
|
Certain classes of identifiers (besides keywords) have special
|
||||||
meanings. These are:
|
meanings. These classes are identified by the patterns of leading and
|
||||||
|
trailing underscore characters:
|
||||||
\begin{tableiii}{l|l|l}{code}{Form}{Meaning}{Notes}
|
|
||||||
\lineiii{_*}{Not imported by \samp{from \var{module} import *}}{(1)}
|
|
||||||
\lineiii{__*__}{System-defined name}{}
|
|
||||||
\lineiii{__*}{Class-private name mangling}{}
|
|
||||||
\end{tableiii}
|
|
||||||
|
|
||||||
See sections: \ref{import}, ``The \keyword{import} statement'';
|
|
||||||
\ref{specialnames}, ``Special method names'';
|
|
||||||
\ref{atom-identifiers}, ``Identifiers (Names)''.
|
|
||||||
|
|
||||||
Note:
|
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[(1)] The special identifier \samp{_} is used in the interactive
|
|
||||||
interpreter to store the result of the last evaluation; it is stored
|
\item[\code{_*}]
|
||||||
in the \module{__builtin__} module. When not in interactive mode,
|
Not imported by \samp{from \var{module} import *}. The special
|
||||||
\samp{_} has no special meaning and is not defined.
|
identifier \samp{_} is used in the interactive interpreter to store
|
||||||
|
the result of the last evaluation; it is stored in the
|
||||||
|
\module{__builtin__} module. When not in interactive mode, \samp{_}
|
||||||
|
has no special meaning and is not defined.
|
||||||
|
See section~\ref{import}, ``The \keyword{import} statement.''
|
||||||
|
|
||||||
|
\note{The name \samp{_} is often used in conjunction with
|
||||||
|
internationalization; refer to the documentation for the
|
||||||
|
\ulink{\module{gettext} module}{../lib/module-gettext.html} for more
|
||||||
|
information on this convention.}
|
||||||
|
|
||||||
|
\item[\code{__*__}]
|
||||||
|
System-defined names. These names are defined by the interpreter
|
||||||
|
and it's implementation (including the standard library);
|
||||||
|
applications should not expect to define additional names using this
|
||||||
|
convention. The set of names of this class defined by Python may be
|
||||||
|
extended in future versions.
|
||||||
|
See section~\ref{specialnames}, ``Special method names.''
|
||||||
|
|
||||||
|
\item[\code{__*}]
|
||||||
|
Class-private names. Names in this category, when used within the
|
||||||
|
context of a class definition, are re-written to use a mangled for
|
||||||
|
to help avoid name clashes between ``private'' attributes of base
|
||||||
|
and derived classes.
|
||||||
|
See section~\ref{atom-identifiers}, ``Identifiers (Names).''
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue