builtins.rst 1.41 KB
Newer Older
1 2
:mod:`builtins` --- Built-in objects
====================================
3

4
.. module:: builtins
5 6 7 8
   :synopsis: The module that provides the built-in namespace.


This module provides direct access to all 'built-in' identifiers of Python; for
9
example, ``builtins.open`` is the full name for the built-in function
10 11 12
:func:`open`.  See :ref:`built-in-funcs` and :ref:`built-in-consts` for
documentation.

13 14 15 16 17 18 19

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 :func:`open` function that wraps the built-in
:func:`open`, this module can be used directly::

20
   import builtins
21 22

   def open(path):
23
       f = builtins.open(path, 'r')
24 25 26 27 28 29 30 31 32 33 34 35 36
       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()

       # ...

37 38
As an implementation detail, most modules have the name ``__builtins__`` made
available as part of their globals.  The value of ``__builtins__`` is normally
39
either this module or the value of this module's :attr:`__dict__` attribute.
40 41
Since this is an implementation detail, it may not be used by alternate
implementations of Python.