A string conversion is an expression list enclosed in reverse (a.k.a. backward) quotes:
A string conversion evaluates the contained expression list and converts the resulting object into a string according to rules specific to its type.
If the object is a string, a number, None
, or a tuple, list or
dictionary containing only objects whose type is one of these, the
resulting string is a valid Python expression which can be passed to
the built-in function eval() to yield an expression with the
same value (or an approximation, if floating point numbers are
involved).
(In particular, converting a string adds quotes around it and converts ``funny'' characters to escape sequences that are safe to print.)
Recursive objects (for example, lists or dictionaries that contain a reference to themselves, directly or indirectly) use "..." to indicate a recursive reference, and the result cannot be passed to eval() to get an equal value (SyntaxError will be raised instead).
The built-in function repr() performs exactly the same conversion in its argument as enclosing it in parentheses and reverse quotes does. The built-in function str() performs a similar but more user-friendly conversion.
See About this document... for information on suggesting changes.