:mod:`types` --- Names for built-in types ========================================= .. module:: types :synopsis: Names for built-in types. **Source code:** :source:`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 :class:`int` or :class:`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 :func:`isinstance` or :func:`issubclass` checks. The module defines the following names: .. data:: FunctionType LambdaType The type of user-defined functions and functions created by :keyword:`lambda` expressions. .. data:: GeneratorType The type of :term:`generator`-iterator objects, produced by calling a generator function. .. data:: CodeType .. index:: builtin: compile The type for code objects such as returned by :func:`compile`. .. data:: MethodType The type of methods of user-defined class instances. .. data:: BuiltinFunctionType BuiltinMethodType The type of built-in functions like :func:`len` or :func:`sys.exit`, and methods of built-in classes. (Here, the term "built-in" means "written in C".) .. data:: ModuleType The type of modules. .. data:: TracebackType The type of traceback objects such as found in ``sys.exc_info()[2]``. .. data:: FrameType The type of frame objects such as found in ``tb.tb_frame`` if ``tb`` is a traceback object. .. data:: 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 :class:`property` type, but for classes defined in extension modules. .. data:: 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 :class:`property` type, but for classes defined in extension modules. .. impl-detail:: In other implementations of Python, this type may be identical to ``GetSetDescriptorType``. .. class:: MappingProxyType(mapping) Read-only proxy of a mapping. It provides a dynamic view on the mapping's entries, which means that when the mapping changes, the view reflects these changes. .. versionadded:: 3.3 .. describe:: key in proxy Return ``True`` if the underlying mapping has a key *key*, else ``False``. .. describe:: proxy[key] Return the item of the underlying mapping with key *key*. Raises a :exc:`KeyError` if *key* is not in the underlying mapping. .. describe:: iter(proxy) Return an iterator over the keys of the underlying mapping. This is a shortcut for ``iter(proxy.keys())``. .. describe:: len(proxy) Return the number of items in the underlying mapping. .. method:: copy() Return a shallow copy of the underlying mapping. .. method:: get(key[, default]) Return the value for *key* if *key* is in the underlying mapping, else *default*. If *default* is not given, it defaults to ``None``, so that this method never raises a :exc:`KeyError`. .. method:: items() Return a new view of the underlying mapping's items (``(key, value)`` pairs). .. method:: keys() Return a new view of the underlying mapping's keys. .. method:: values() Return a new view of the underlying mapping's values.