| 
									
										
										
										
											2007-12-02 09:40:06 +00:00
										 |  |  | :mod:`builtins` --- Built-in objects
 | 
					
						
							|  |  |  | ====================================
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-12-02 09:40:06 +00:00
										 |  |  | .. module:: builtins
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  |    :synopsis: The module that provides the built-in namespace.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-11 15:02:54 -04:00
										 |  |  | --------------
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | This module provides direct access to all 'built-in' identifiers of Python; for
 | 
					
						
							| 
									
										
										
										
											2007-12-02 09:40:06 +00:00
										 |  |  | example, ``builtins.open`` is the full name for the built-in function
 | 
					
						
							| 
									
										
										
										
											2011-06-08 04:53:20 +02:00
										 |  |  | :func:`open`.  See :ref:`built-in-funcs` and :ref:`built-in-consts` for
 | 
					
						
							|  |  |  | documentation.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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::
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-12-02 09:40:06 +00:00
										 |  |  |    import builtins
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |    def open(path):
 | 
					
						
							| 
									
										
										
										
											2007-12-02 09:40:06 +00:00
										 |  |  |        f = builtins.open(path, 'r')
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  |        return UpperCaser(f)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |    class UpperCaser:
 | 
					
						
							| 
									
										
										
										
											2021-05-28 22:54:25 +02:00
										 |  |  |        '''Wrapper around a file that converts output to uppercase.'''
 | 
					
						
							| 
									
										
										
										
											2007-08-15 14:28:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |        def __init__(self, f):
 | 
					
						
							|  |  |  |            self._f = f
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |        def read(self, count=-1):
 | 
					
						
							|  |  |  |            return self._f.read(count).upper()
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |        # ...
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-11-26 12:08:19 +00:00
										 |  |  | As an implementation detail, most modules have the name ``__builtins__`` made
 | 
					
						
							|  |  |  | available as part of their globals.  The value of ``__builtins__`` is normally
 | 
					
						
							| 
									
										
										
										
											2016-06-18 03:57:31 +00:00
										 |  |  | either this module or the value of this module's :attr:`~object.__dict__` attribute.
 | 
					
						
							| 
									
										
										
										
											2010-11-26 12:08:19 +00:00
										 |  |  | Since this is an implementation detail, it may not be used by alternate
 | 
					
						
							|  |  |  | implementations of Python.
 |