Output difference between ipython and python

Solution 1:

Instead of repr or standard pprint module IPython uses IPython.lib.pretty.RepresentationPrinter.pretty method to print the output.

Module IPython.lib.pretty provides two functions that use RepresentationPrinter.pretty behind the scenes.

IPython.lib.pretty.pretty function returns the string representation of an object:

>>> from IPython.lib.pretty import pretty
>>> pretty(type([]))
'list'

IPython.lib.pretty.pprint function prints the representation of an object:

>>> from IPython.lib.pretty import pprint
>>> pprint(type([]))
list

IPython uses its own pretty printer because the standard Python pprint module "does not allow developers to provide their own pretty print callbacks."