mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
discuss how the __builtin__ module is normally used, and try to clarify the
difference between __builtins__ and __builtin__ (based on an email comment)
This commit is contained in:
parent
fb915fe812
commit
0a6864ecc5
1 changed files with 38 additions and 5 deletions
|
|
@ -1,11 +1,44 @@
|
|||
\section{\module{__builtin__} ---
|
||||
Built-in functions}
|
||||
Built-in objects}
|
||||
|
||||
\declaremodule[builtin]{builtin}{__builtin__}
|
||||
\modulesynopsis{The set of built-in functions.}
|
||||
\modulesynopsis{The module that provides the built-in namespace.}
|
||||
|
||||
|
||||
This module provides direct access to all `built-in' identifiers of
|
||||
Python; e.g. \code{__builtin__.open} is the full name for the built-in
|
||||
function \function{open()}. See section \ref{built-in-funcs}, ``Built-in
|
||||
Functions.''
|
||||
Python; for example, \code{__builtin__.open} is the full name for the
|
||||
built-in function \function{open()}. See chapter~\ref{builtin},
|
||||
``Built-in Objects.''
|
||||
|
||||
This module is not normally accessed explicitly by most applications,
|
||||
but can be useful in modules that provide objects with the same name
|
||||
as a built-in value, but in which the built-in of that name is also
|
||||
needed. For example, in a module that wants to implement an
|
||||
\function{open()} function that wraps the built-in \function{open()},
|
||||
this module can be used directly:
|
||||
|
||||
\begin{verbatim}
|
||||
import __builtin__
|
||||
|
||||
def open(path):
|
||||
f = __builtin__.open(path, 'r')
|
||||
return UpperCaser(f)
|
||||
|
||||
class UpperCaser:
|
||||
'''Wrapper around a file that converts output to upper-case.'''
|
||||
|
||||
def __init__(self, f):
|
||||
self._f = f
|
||||
|
||||
def read(self, count=-1):
|
||||
return self._f.read(count).upper()
|
||||
|
||||
# ...
|
||||
\end{verbatim}
|
||||
|
||||
As an implementation detail, most modules have the name
|
||||
\code{__builtins__} (note the \character{s}) made available as part of
|
||||
their globals. The value of \code{__builtins__} is normally either
|
||||
this module or the value of this modules's \member{__dict__}
|
||||
attribute. Since this is an implementation detail, it may not be used
|
||||
by alternate implementations of Python.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue