我一定错过了一些简单的事情,但我仍在努力寻找答案。我使用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()函数将其吐在旧输出的顶部,因此实际上替换了那里的内容,但这对还是错,仍然无济于事。我尝试使用Google搜索,但没有成功-也许,我无法很好地制定搜索字符串-您知道,这是一种艺术。请戳我的鼻子!
我不确定是什么问题。在IPython会话中:
In [61]: x = [1,2,3]
...: x
...:
...:
Out[61]: [1, 2, 3]
In [62]: x = [1,2,3]
...: x
...: print(x)
[1, 2, 3]
In [63]: None
In [64]:
Out[61]
被显示,并添加到退出历史记录中。这是[61]块的最后一行。在[62]中,最后一行是print
,它显示文本并返回None
。 None
不显示或未添加到Out
。
一个普通的交互式Python会话,历史受到更多限制,只是'_'。但是即使print
输出也没有被缓存。