2017-10-08 134 views
0

我正在使用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

回答

0

1)我认为它比单个命令更复杂。我认为解析哪个“交互模式”(例如,显示全部,仅显示最后一行[默认值])的代码是here。请记住,IPython就像它自己的REPL shell一样,并且有很多不同的交织机制,比如这个。你可以追溯他们的源代码,并试图理解所涉及的所有机制,如果你想,但我不认为这是一个单线解决方案。

2)这是一个打印表示的arrepr(ar),相对于的ar可读字符串形式。请参阅https://stackoverflow.com/a/2626364/7458681其原因是array而不是ndarray的原因在于,它不是正在打印的对象的类型,而是所需的功能,以便能够重新创建对象,以便eval(repr(ar)) == ar

相关问题