The use of dynamic dispatching by Repr.repr1() allows
subclasses of Repr to add support for additional built-in
object types or to modify the handling of types already supported.
This example shows how special support for file objects could be
added:
import repr
import sys
class MyRepr(repr.Repr):
def repr_file(self, obj, level):
if obj.name in ['<stdin>', '<stdout>', '<stderr>']:
return obj.name
else:
return `obj`
aRepr = MyRepr()
print aRepr.repr(sys.stdin) # prints '<stdin>'