import os import sys import array import builtins import collections import collections.abc import __main__ def makestrip(): def strip(s): if s.startswith('' if ' at ' in s: s = s.rsplit(' ', 1)[0] return s + ' ...>' return s return strip class Top: class Nested: def method(self): pass modules = [os, sys, array, builtins, collections, collections.abc, __main__] classes = [os._Environ, type(sys.flags), array.array, collections.Counter, collections.abc.MutableMapping, dict, type, object, Top, Top.Nested] functions = [os.getenv, sys.exc_info, makestrip, __main__.makestrip, makestrip()] methods = [dict.update, dict().update, array.array.tolist, array.array('u').tolist, collections.Counter.update, collections.Counter().update, Top.Nested.method, Top.Nested().method] strip = makestrip() print('invoked with:', sys.argv[0]) for changed in ('modules', 'classes', 'functions', 'methods'): print('=====================', changed) changed = globals()[changed] for element in changed: print('{:<66} {}'.format(strip(str(element)), strip(repr(element))))