是否可以在 Jupyter Notebook 单元格中在显示多个输出和单个输出之间来回切换?

Is it possible to switch back and forth between displaying multiple outputs and single output in a Jupyter Notebook cell?

要在我使用的单元格中显示多个输出,

    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"

但是,如果我有一个只需要一个输出的单元格,我该如何切换回同一个笔记本。

我尝试发出

    InteractiveShell.ast_node_interactivity = "last_expr"

在我想要单个输出的单元格中,但它似乎不起作用。

您可以在 IPython(终端、笔记本等)提示符中发出以下命令:

%config

它会告诉你可以配置哪个对象:

Available objects for config:
 AliasManager
 DisplayFormatter
 HistoryManager
 IPCompleter
 IPKernelApp
 InlineBackend
 LoggingMagics
 MagicsManager
 PrefilterManager
 ScriptMagics
 StoreMagics
 ZMQInteractiveShell

请注意,ZMQInteractiveShell 在终端中将是 TerminalInteractiveShell。在我们的案例中,即我们对配置感兴趣的内容,让我们询问 config 以获取更多信息:

%config ZMQInteractiveShell

ZMQInteractiveShell options
-------------------------
ZMQInteractiveShell.ast_node_interactivity=<Enum>
    Current: 'last_expr'
    Choices: ['all', 'last', 'last_expr', 'none', 'last_expr_or_assign']
    'all', 'last', 'last_expr' or 'none', 'last_expr_or_assign' specifying which
    nodes should be run interactively (displaying output from expressions).
ZMQInteractiveShell.ast_transformers=<List>
    Current: []

哦!那么让我们分配:

%config InteractiveShell.ast_node_interactivity="last_expr"

您已经准备就绪,此外您还学习了如何深入研究 IPython 配置系统。

请注意,它可能不适用于所有配置选项(如果这样打开错误报告)但它应该适用于 last_node_interactivity,并且解析器有点挑剔,您可能需要在周围没有空格=.

尽情享受吧!