mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{\module{types} ---
 | 
						|
         Names for built-in types}
 | 
						|
 | 
						|
\declaremodule{standard}{types}
 | 
						|
\modulesynopsis{Names for built-in types.}
 | 
						|
 | 
						|
 | 
						|
This module defines names for some object types that are used by
 | 
						|
the standard Python interpreter, but not for the types defined by various
 | 
						|
extension modules.  Also, it does not include some of the types that
 | 
						|
arise during processing such as the \code{listiterator} type.
 | 
						|
It is safe to use \samp{from types import *} ---
 | 
						|
the module does not export any names besides the ones listed here.
 | 
						|
New names exported by future versions of this module will all end in
 | 
						|
\samp{Type}.
 | 
						|
 | 
						|
Typical use is for functions that do different things depending on
 | 
						|
their argument types, like the following:
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
from types import *
 | 
						|
def delete(mylist, item):
 | 
						|
    if type(item) is IntType:
 | 
						|
       del mylist[item]
 | 
						|
    else:
 | 
						|
       mylist.remove(item)
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
Starting in Python 2.2, built-in factory functions such as
 | 
						|
\function{int()} and \function{str()} are also names for the
 | 
						|
corresponding types.  This is now the preferred way to access
 | 
						|
the type instead of using the \module{types} module.  Accordingly,
 | 
						|
the example above should be written as follows:
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
def delete(mylist, item):
 | 
						|
    if isinstance(item, int):
 | 
						|
       del mylist[item]
 | 
						|
    else:
 | 
						|
       mylist.remove(item)
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
The module defines the following names:
 | 
						|
 | 
						|
\begin{datadesc}{NoneType}
 | 
						|
The type of \code{None}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{TypeType}
 | 
						|
The type of type objects (such as returned by
 | 
						|
\function{type()}\bifuncindex{type}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{BooleanType}
 | 
						|
The type of the \class{bool} values \code{True} and \code{False}; this
 | 
						|
is an alias of the built-in \function{bool()} function.
 | 
						|
\versionadded{2.3}
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{IntType}
 | 
						|
The type of integers (e.g. \code{1}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{LongType}
 | 
						|
The type of long integers (e.g. \code{1L}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{FloatType}
 | 
						|
The type of floating point numbers (e.g. \code{1.0}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{ComplexType}
 | 
						|
The type of complex numbers (e.g. \code{1.0j}).  This is not defined
 | 
						|
if Python was built without complex number support.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{StringType}
 | 
						|
The type of character strings (e.g. \code{'Spam'}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{UnicodeType}
 | 
						|
The type of Unicode character strings (e.g. \code{u'Spam'}).  This is
 | 
						|
not defined if Python was built without Unicode support.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{TupleType}
 | 
						|
The type of tuples (e.g. \code{(1, 2, 3, 'Spam')}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{ListType}
 | 
						|
The type of lists (e.g. \code{[0, 1, 2, 3]}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{DictType}
 | 
						|
The type of dictionaries (e.g. \code{\{'Bacon': 1, 'Ham': 0\}}).
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{DictionaryType}
 | 
						|
An alternate name for \code{DictType}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{FunctionType}
 | 
						|
The type of user-defined functions and lambdas.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{LambdaType}
 | 
						|
An alternate name for \code{FunctionType}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{GeneratorType}
 | 
						|
The type of generator-iterator objects, produced by calling a
 | 
						|
generator function.
 | 
						|
\versionadded{2.2}
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{CodeType}
 | 
						|
The type for code objects such as returned by
 | 
						|
\function{compile()}\bifuncindex{compile}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{ClassType}
 | 
						|
The type of user-defined classes.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{InstanceType}
 | 
						|
The type of instances of user-defined classes.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{MethodType}
 | 
						|
The type of methods of user-defined class instances.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{UnboundMethodType}
 | 
						|
An alternate name for \code{MethodType}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{BuiltinFunctionType}
 | 
						|
The type of built-in functions like \function{len()} or
 | 
						|
\function{sys.exit()}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{BuiltinMethodType}
 | 
						|
An alternate name for \code{BuiltinFunction}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{ModuleType}
 | 
						|
The type of modules.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{FileType}
 | 
						|
The type of open file objects such as \code{sys.stdout}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{XRangeType}
 | 
						|
The type of range objects returned by
 | 
						|
\function{xrange()}\bifuncindex{xrange}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{SliceType}
 | 
						|
The type of objects returned by
 | 
						|
\function{slice()}\bifuncindex{slice}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{EllipsisType}
 | 
						|
The type of \code{Ellipsis}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{TracebackType}
 | 
						|
The type of traceback objects such as found in
 | 
						|
\code{sys.exc_traceback}.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{FrameType}
 | 
						|
The type of frame objects such as found in \code{tb.tb_frame} if
 | 
						|
\code{tb} is a traceback object.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{BufferType}
 | 
						|
The type of buffer objects created by the
 | 
						|
\function{buffer()}\bifuncindex{buffer} function.
 | 
						|
\end{datadesc}
 | 
						|
 | 
						|
\begin{datadesc}{StringTypes}
 | 
						|
A sequence containing \code{StringType} and \code{UnicodeType} used to
 | 
						|
facilitate easier checking for any string object.  Using this is more
 | 
						|
portable than using a sequence of the two string types constructed
 | 
						|
elsewhere since it only contains \code{UnicodeType} if it has been
 | 
						|
built in the running version of Python.  For example:
 | 
						|
\code{isinstance(s, types.StringTypes)}.
 | 
						|
\versionadded{2.2}
 | 
						|
\end{datadesc}
 |