symbian-qemu-0.9.1-12/python-2.6.1/Doc/library/__builtin__.rst
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 
       
     2 :mod:`__builtin__` --- Built-in objects
       
     3 =======================================
       
     4 
       
     5 .. module:: __builtin__
       
     6    :synopsis: The module that provides the built-in namespace.
       
     7 
       
     8 
       
     9 This module provides direct access to all 'built-in' identifiers of Python; for
       
    10 example, ``__builtin__.open`` is the full name for the built-in function
       
    11 :func:`open`.  See chapter :ref:`builtin`.
       
    12 
       
    13 This module is not normally accessed explicitly by most applications, but can be
       
    14 useful in modules that provide objects with the same name as a built-in value,
       
    15 but in which the built-in of that name is also needed.  For example, in a module
       
    16 that wants to implement an :func:`open` function that wraps the built-in
       
    17 :func:`open`, this module can be used directly::
       
    18 
       
    19    import __builtin__
       
    20 
       
    21    def open(path):
       
    22        f = __builtin__.open(path, 'r')
       
    23        return UpperCaser(f)
       
    24 
       
    25    class UpperCaser:
       
    26        '''Wrapper around a file that converts output to upper-case.'''
       
    27 
       
    28        def __init__(self, f):
       
    29            self._f = f
       
    30 
       
    31        def read(self, count=-1):
       
    32            return self._f.read(count).upper()
       
    33 
       
    34        # ...
       
    35 
       
    36 As an implementation detail, most modules have the name ``__builtins__`` (note
       
    37 the ``'s'``) made available as part of their globals.  The value of
       
    38 ``__builtins__`` is normally either this module or the value of this modules's
       
    39 :attr:`__dict__` attribute.  Since this is an implementation detail, it may not
       
    40 be used by alternate implementations of Python.
       
    41