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

smi*_*dha 5 python jupyter

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

简而言之,我问Mathematica 这个问题的Jupyter版本.

dav*_*ide 10

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

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

x = 10
Run Code Online (Sandbox Code Playgroud)

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

%load_ext jupyter_spaces
Run Code Online (Sandbox Code Playgroud)

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

%%space name_of_the_space
y = 2 * x
Run Code Online (Sandbox Code Playgroud)

在这个例子中,y不会在全局命名空间中可用,就像我们在本地命名空间中执行了单元格一样。

PyPIGitHub 上的文档包括其他示例。


unu*_*tbu 7

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

In [1]: 

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

In [2]: 

    def bar():
        x = 2
        return x
    bar()
Run Code Online (Sandbox Code Playgroud)