在Jupyter笔记本中使单元格彼此独立

时间:2016-03-13 00:44:31

标签: python jupyter

我想进行一些独立的计算,所有这些都在jupyter笔记本中的自己的单元格中 - 如果你愿意,每个单元格都有自己的“主”功能。目前,它看起来像包含Python的所有单元格的并集 代码本质上是一个大的Python程序。

简而言之,我问Mathematica的Jupyter版this问题。

2 个答案:

答案 0 :(得分:7)

单元格中定义的变量成为全局名称空间中的变量。 要将变量隔离到本地范围,请将它们放在函数中:

In [1]: 

    def foo():
        x = 1
        return x
    foo()

In [2]: 

    def bar():
        x = 2
        return x
    bar()

答案 1 :(得分:2)

您可以使用jupyter_spaces魔术在伪本地名称空间中执行Jupyter Notebook单元。

例如,让我们在“普通”单元格中定义一个变量。

x = 10

假设环境(pip install jupyter-spaces中有Jupyter Spaces,我们可以加载jupyter_spaces魔法。

%load_ext jupyter_spaces

最后,我们可以在可以访问globals变量的特定命名空间中执行单元。

%%space name_of_the_space
y = 2 * x

在此示例中,y在全局名称空间中将不可用,就好像我们在本地名称空间中执行了该单元格一样。

PyPIGitHub上的文档还包含其他示例。