IPython shell中对显示结果的格式化优化

    xiaoxiao2021-03-25  16

           坚持使用Python的原声command交互将近两年了,时间可以说是从我开始学习Python一直持续到现在。之前在微博上看到别人说:IPython真是一个伟大的发明,简单尝试了一下,看着命令行之间的空白区非常大有一点不适应直接就放弃了。那时候觉得,这个东西或许对我没啥用。

           今天简单试了几个小例子,看到输出的数据被格式化成了一种很规矩的方式,瞬间觉得这个东西做的确实是不坏。

           在Python的命令行交互中,虽说是文字的输出排列十分紧密,但是以下操作最终显示的字典看起来有一点凌乱:

    E:\WorkSpace\05_PythonDataAnalysis\chapter04>python

    Enthought CanopyPython 2.7.11 | 64-bit | (default, Jun 11 2016, 11:33:47) [MSC v.1500 64 bit(AMD64)] on win32

    Type"help", "copyright", "credits" or"license" for more information.

    >>> fromnumpy.random import randn

    >>> data= {i : randn() for i in range(7)}

    >>> data

    {0:1.3867653769581234, 1: -1.141289077539207, 2: -1.6518053479068247, 3:1.627467510514476, 4: 2.7003756607391662, 5: 0.40526838062089454, 6:-0.05973507325563356}

           而相同的操作切换到了IPython则完全不是同一个效果,具体如下:

    In [11]: fromnumpy.random import  randn

     

    In [12]: data ={i: randn() for i in range(7)}

     

    In [13]: data

    Out[13]:

    {0:-1.4557583869619666,

     1: 1.2310729704385877,

     2: 0.37474664319983375,

     3: -0.9504748200468184,

     4: 1.4534140748165172,

     5: -0.4748609137908646,

     6: -0.4291501104057692}

           显示的输出结果十分规整,同时,交互界面还会有不同的颜色标识(这里的格式没能够复制出来)。

           通过这个简单的小特性也可以看出,为什么那么多人习惯了IPython之后便觉得这是个伟大的发明了,在使用上确实是有了很大的改善。另外值得一提的是,在IPython中交互输入是可以通过Tab自动补全很多信息的,这有种找到了Linux中的shell那种感觉,十分舒心。而相比之下的Pyhton命令交互界面则要朴素多了。

    转载请注明原文地址: https://ju.6miu.com/read-200065.html

    最新回复(0)