3.25.1 Repr Objects

Repr instances provide several members which can be used to provide size limits for the representations of different object types, and methods which format specific object types.

maxlevel
Depth limit on the creation of recursive representations. The default is 6.

maxdict
maxlist
maxtuple
Limits on the number of entries represented for the named object type. The default for maxdict is 4, for the others, 6.

maxlong
Maximum number of characters in the representation for a long integer. Digits are dropped from the middle. The default is 40.

maxstring
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.

maxother
This limit is used to control the size of object types for which no specific formatting method is available on the Repr object. It is applied in a similar manner as maxstring. The default is 20.

repr(obj)
The equivalent to the built-in repr() that uses the formatting imposed by the instance.

repr1(obj, level)
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)".

See About this document... for information on suggesting changes.