我习惯于在 ipython shell 中粘贴代码片段来测试。
当我复制并粘贴这样的内容时
print("A")
print("B")
print("C")
在 ipython shell 中,它只有 3 行代码,然后当您按回车键时,它会执行该命令。但是当我在屏幕会话中执行此操作时,它不会显示所有 3 行语句。相反,它只运行第一个语句并跳过其他 2 个语句。
所以粘贴上面的内容会直接给我一个输出
In [1]: print("A")
A
在屏幕之外,我将粘贴它,它会给我这个输出
In [1]: print("A")
...: print("B")
...: print("C")
A
B
C
但是当粘贴像这样的函数时
def foo():
print("A")
显示这两个语句。
我怀疑这是因为当在 python 中打开一个函数或作用域时,它期望输入另一行,因此即使您执行该命令,它也不会完全运行,提示您输入更多内容。
当我通过回车符粘贴它们时,我希望我的屏幕不运行这些命令。