Skip to content

导入 Python Shell 代码

IPython 被设计用于直接处理从标准 Python (>>>, ...) 或其他 IPython (In [...], ...:) 会话中粘贴的代码。它能智能地过滤掉这些提示符前缀,让你能够轻松地从教程、文档或之前的会话中复制粘贴代码示例或片段。

假设你有以下从标准 Python REPL(Read-Evaluate-Print Loop,读取-求值-打印循环)会话中复制的代码片段:

>>> for i in range(3):
... print(f"Number: {i}")
...

你可以将整个代码块,包括 >>> 和 ... 提示符,直接粘贴到 IPython 提示符或 Jupyter 单元格中:

In [1]: >>> for i in range(3):
...: ... print(f"Number: {i}")
...: ...
Number: 0
Number: 1
Number: 2

IPython 会正确执行代码,忽略掉外部的提示符。

类似地,你可以将代码(包括 In [...] 和 ...: 提示符)从一个 IPython 会话(或笔记本)复制到另一个。

考虑一下在一个 IPython 实例中定义的这段代码:

# --- Copied from another session ---
In [5]: def multiply(a, b):
...: """Returns the product of a and b."""
...: return a * b
...:

将其粘贴到新的 IPython 会话中:

In [1]: In [5]: def multiply(a, b):
...: ...: """Returns the product of a and b."""
...: ...: return a * b
...: ...:
In [2]: multiply(6, 7)
Out[2]: 42

函数定义被正确解析并执行,可以在新的会话中直接使用。此功能显著简化了共享和重用交互式代码片段的过程。