The following sections describe the standard types that are built into the interpreter. Note: Historically (until release 2.2), 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. This limitation does not exist any longer.
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 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 the print statement and other language statements can be found in the Python Reference Manual and the Python Tutorial.)