在Jupyter中似乎有3种显示输出的方式:
print
display
确切的区别是什么,尤其是2和3之间的区别是什么?
答案 0 :(得分:1)
我没有使用display
,但看起来它提供了很多控件。 print
当然是标准的Python函数,具有自己的可能参数。
但是让我们在Ipython控制台会话中查看一个简单的numpy
数组:
仅提供名称-默认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
可以返回一个'display'对象,但是在这里我不再赘述。您可以尽我所能阅读文档。