更なる組み込みオブジェクト型へのサポートを追加するためや、すでにサポートされている型の扱いを変更するために、Repr.repr1()による動的なディスパッチを使ってReprをサブクラス化することができます。この例はファイルオブジェクトのための特別なサポートを追加する方法を示しています:
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>'