4

python が出力の を出力することは私の理解でしreprたが、これは明らかに常にそうであるとは限りません。例えば:

ipython の場合:

In [1]: type([])
Out[1]: list

In [2]: set([3,1,2])
Out[2]: {1, 2, 3}

パイソンでは:

>>> type([])
<type 'list'>
>>> set([3,1,2])
set([1, 2, 3])

ipython は出力にどのような変換を適用しますか?

4

1 に答える 1

9

reprまたは標準pprintモジュールの代わりに、 IPython はIPython.lib.pretty.RepresentationPrinter.prettyメソッドを使用して出力を出力します

モジュールは、舞台裏IPython.lib.prettyで使用する 2 つの関数を提供します。RepresentationPrinter.pretty

IPython.lib.pretty.pretty関数は、オブジェクトの文字列表現を返します。

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

IPython.lib.pretty.pprint関数はオブジェクトの表現を出力します:

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

pprint標準の Pythonモジュールでは「開発者が独自のプリティ プリント コールバックを提供できない」ため、IPython は独自のプリティ プリンタを使用します。

于 2014-01-14T10:20:42.337 に答える