Limit on the number of characters in the representation of the
string. Note that the ``normal'' representation of the string is
used as the character source: if escape sequences are needed in the
representation, these may be mangled when the representation is
shortened. The default is 30.

Recursive implementation used by repr(). This uses the
type of obj to determine which formatting method to call,
passing it obj and level. The type-specific methods
should call repr1() to perform recursive formatting, with
level - 1 for the value of level in the recursive
call.

repr_type (obj, level)

Formatting methods for specific types are implemented as methods
with a name based on the type name. In the method name, type
is replaced by
string.join(string.split(type(obj).__name__, '_').
Dispatch to these methods is handled by repr1().
Type-specific methods which need to recursively format a value
should call "self.repr1(subobj, level - 1)".