命令在jupyter笔记本中重现评估命令
问题描述:
我正在使用jupyter笔记本。考虑ar = np.array([[2,3],[5,6]])
。命令在jupyter笔记本中重现评估命令
然后评估print ar
显示
[[2 3]
[5 6]]
,而只是评估ar
显示
array([[2, 3],
[5, 6]])
我的问题是:1)什么命令实际上就在于这个评价在笔记本的后面,我怎么可能重现它在一个正常的IDLE python脚本?
2)第二个评价是什么意思,这是某种形式的精心策划;确实向我展示了对象的类型及其内容?它不应该实际上是ndarray
而不是array
?
答
1)我认为它比单个命令更复杂。我认为解析哪个“交互模式”(例如,显示全部,仅显示最后一行[默认值])的代码是here。请记住,IPython就像它自己的REPL shell一样,并且有很多不同的交织机制,比如这个。你可以追溯他们的源代码,并试图理解所涉及的所有机制,如果你想,但我不认为这是一个单线解决方案。
2)这是一个打印表示的ar
,repr(ar)
,相对于的ar
可读字符串形式。请参阅https://*.com/a/2626364/7458681其原因是array
而不是ndarray
的原因在于,它不是正在打印的对象的类型,而是所需的功能,以便能够重新创建对象,以便eval(repr(ar)) == ar
。