
``types`` --- Names for built-in types
**************************************

**Source code:** Lib/types.py

======================================================================

This module defines names for some object types that are used by the
standard Python interpreter, but not exposed as builtins like ``int``
or ``str`` are.  Also, it does not include some of the types that
arise transparently during processing such as the ``listiterator``
type.

Typical use is for ``isinstance()`` or ``issubclass()`` checks.

The module defines the following names:

types.FunctionType
types.LambdaType

   The type of user-defined functions and functions created by
   ``lambda`` expressions.

types.GeneratorType

   The type of *generator*-iterator objects, produced by calling a
   generator function.

types.CodeType

   The type for code objects such as returned by ``compile()``.

types.MethodType

   The type of methods of user-defined class instances.

types.BuiltinFunctionType
types.BuiltinMethodType

   The type of built-in functions like ``len()`` or ``sys.exit()``,
   and methods of built-in classes.  (Here, the term "built-in" means
   "written in C".)

types.ModuleType

   The type of modules.

types.TracebackType

   The type of traceback objects such as found in
   ``sys.exc_info()[2]``.

types.FrameType

   The type of frame objects such as found in ``tb.tb_frame`` if
   ``tb`` is a traceback object.

types.GetSetDescriptorType

   The type of objects defined in extension modules with
   ``PyGetSetDef``, such as ``FrameType.f_locals`` or
   ``array.array.typecode``.  This type is used as descriptor for
   object attributes; it has the same purpose as the ``property``
   type, but for classes defined in extension modules.

types.MemberDescriptorType

   The type of objects defined in extension modules with
   ``PyMemberDef``, such as ``datetime.timedelta.days``.  This type is
   used as descriptor for simple C data members which use standard
   conversion functions; it has the same purpose as the ``property``
   type, but for classes defined in extension modules.

   **CPython implementation detail:** In other implementations of
   Python, this type may be identical to ``GetSetDescriptorType``.
