iPython:print()函数禁止直接变量输出

问题描述 投票:1回答:1

我一定错过了一些简单的事情,但我仍在努力寻找答案。我使用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搜索,但没有成功-也许,我无法很好地制定搜索字符串-您知道,这是一种艺术。请戳我的鼻子!

python printing output ipython
1个回答
0
投票

我不确定是什么问题。在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,它显示文本并返回NoneNone不显示或未添加到Out

一个普通的交互式Python会话,历史受到更多限制,只是'_'。但是即使print输出也没有被缓存。

© www.soinside.com 2019 - 2024. All rights reserved.