【发布时间】:2020-09-21 17:23:03
【问题描述】:
这一定是我刚刚错过的一些简单的事情,但我仍在努力寻找答案。 我使用 iPuthon。假设,我一次从其他来源复制了几行,比如网页。还假设片段在单独的行上有一个变量,以便将其打印出来(符合 Python 的语法):
myList = ['Abc', 25, 'Yes', 'No']
myList
结果,如我所料(事实上也是如此):
Out[5]: ['Abc', 25, 'Yes', 'No']
现在,让我们在这个片段的末尾添加一行:
myList = ['Abc', 25, 'Yes', 'No']
myList
print('voila!')
突然之间,将没有打印列表的痕迹,而只有 print('voila') 输出可见:
In [6]: myList = ['Abc', 25, 'Yes', 'No']
...: myList
...: print('voila!')
voila!
在 Jupyter 或 Komodo IDE 中发生完全相同的事情,除了我什至没有可能(嗯,一般来说)逐个输入行。我使用的解决方法是使用 print() 函数来输出对象,但这很糟糕——在大多数情况下,本机输出要先进得多。 我的理解是, print() 函数将它吐在旧输出的顶部,因此实际上替换了那里的内容,但这,无论是真是假,仍然无济于事。 我尝试使用谷歌搜索,但没有成功 - 也许,我无法很好地制定搜索字符串 - 你知道,这是一种艺术...... 请戳我的鼻子!
【问题讨论】:
-
这不是“符合 Python 的语法”。这是一种交互式的便利。你可能特别习惯了 IPython 的版本,它除了任何默认的 Python 行为之外,还做了各种额外的事情。
-
将
myList单独放在一行上并不是任何一种Python“显示这个”语法。如果是,则下一行的print不会影响它。 -
嗨,莫妮卡,感谢您的调查。好吧,我并不完全“习惯”任何关于 Python 的东西,因为我刚开始使用它,几天前。这种“显示它”功能可能是我可以没有的东西,但是 - 当您使用 i.g. 时,这个功能似乎非常方便。熊猫(在 Jupyter 中)。 Pandas 的“显示”输出与 print() 相比,看起来就像纽约牛排与煮肉 - 相同的卡路里和蛋白质,但味道更好。我敢打赌,所有的粗体和阴影确实有助于阅读。所以,我至少可以肯定:Pandas 开发人员确实关注这个功能。
-
这是 IPython 将数据帧的
to_html()输出发送到可以支持丰富显示的前端。如果你想手动调用它,你可以调用IPython.display.display(your_df)。不要对任何类型的内置 Python 功能感到困惑。 -
只需使用
display而不是print
标签: python printing output ipython