#
2.3 Built-in Types

The following sections describe the standard types that are built into the interpreter. Historically, Python's built-in types have differed from user-defined types because it was not possible to use the built-in types as the basis for object-oriented inheritance. With the 2.2 release this situation has started to change, although the intended unification of user-defined and built-in types is as yet far from complete.

The principal built-in types are numerics, sequences, mappings, files classes, instances and exceptions.

Some operations are supported by several object types; in particular, practically all objects can be compared, tested for truth value, and converted to a string (with the `` ...`` notation, the equivalent `repr()` function, or the slightly different `str()` function). The latter function is implicitly used when an object is written by the `print` statement. (Information on `print` statement and other language statements can be found in the Python Reference Manual and the Python Tutorial.)