jupyter-notebook - Jupyter Notebook 不同的显示方式
问题描述
在 Jupyter 中显示输出似乎有 3 种方法:
- 通过使用
print
- 通过使用
display
- 只写变量名
确切的区别是什么,尤其是在数字 2 和 3 之间?
解决方案
我没用过display
,但看起来它提供了很多控件。 print
,当然,是标准的 Python 函数,有自己的可能参数。
numpy
但是让我们看一下Ipython 控制台会话中的一个简单数组:
只需给出名称 - 默认值out
:
In [164]: arr
Out[164]: array(['a', 'bcd', 'ef'], dtype='<U3')
repr
这与此对象的输出相同:
In [165]: repr(arr)
Out[165]: "array(['a', 'bcd', 'ef'], dtype='<U3')"
In [166]: print(repr(arr))
array(['a', 'bcd', 'ef'], dtype='<U3')
看起来默认display
是一样的:
In [167]: display(arr)
array(['a', 'bcd', 'ef'], dtype='<U3')
print
另一方面,默认显示str
对象的 :
In [168]: str(arr)
Out[168]: "['a' 'bcd' 'ef']"
In [169]: print(arr)
['a' 'bcd' 'ef']
因此,至少对于像这样的简单情况,关键区别在于对象的repr
和之间str
。另一个区别是哪些操作会产生Out
,而哪些不会。 Out[164]
是一个数组。 Out[165]
(和 168)是字符串。print
并display
显示,但不要在Out
列表中添加任何内容(换句话说,它们返回None
)。
display
可以返回一个“显示”对象,但我不会在这里讨论。您可以尽我所能阅读文档。
推荐阅读
- amazon-web-services - 不同 EC2 实例之间的入口和出口规则的使用
- soap - 如何将类型添加到 Apex 中的密码文本到 SOQL 网络服务调用?
- c++ - 类模板参数推导失败导致替换失败
- python - 使用 ManyToManyField 的序列化模型缺少数据
- jquery - 如何重新加载侧边栏中显示的 PartialView?
- winapi - Windows API 的完整在线文档在哪里?
- cocos2d-x - 空的 cocos2D-x 项目太大
- javascript - 在 Ionic 框架中使用电子邮件发送附件
- typescript - 从移动应用程序中提取设备信息
- arrays - 如何为复杂的 JSON 数组应用 if-else