据我了解,python将repr输出输出,但显然并非总是如此。例如:
repr
在ipython中:
In [1]: type([]) Out[1]: list In [2]: set([3,1,2]) Out[2]: {1, 2, 3}
在python中:
>>> type([]) <type 'list'> >>> set([3,1,2]) set([1, 2, 3])
ipython对输出应用什么转换?
IPython使用代替方法repr或标准pprint模块IPython.lib.pretty.RepresentationPrinter.pretty来打印输出。
pprint
IPython.lib.pretty.RepresentationPrinter.pretty
模块IPython.lib.pretty提供了RepresentationPrinter.pretty在后台使用的两个功能。
IPython.lib.pretty
RepresentationPrinter.pretty
IPython.lib.pretty.pretty 函数返回对象的字符串表示形式:
IPython.lib.pretty.pretty
>>> from IPython.lib.pretty import pretty >>> pretty(type([])) 'list'
IPython.lib.pretty.pprint 函数打印对象的表示形式:
IPython.lib.pretty.pprint
>>> from IPython.lib.pretty import pprint >>> pprint(type([])) list
IPython使用其自己的漂亮打印机,因为标准Pythonpprint模块“不允许开发人员提供自己的漂亮打印回调”。