📅  最后修改于: 2023-12-03 15:06:30.861000             🧑  作者: Mango
在 Google Colab 中,我们可以通过使用全局变量和预处理指令来从另一个单元格获取值。在本篇文章中,我们将介绍一些获取单元格值的方法,以及如何将其用于编写更具可维护性的代码。
Google Colab 中有一些全局对象可以用来在不同的单元格之间共享数据。其中一个是 get_ipython
函数。这个函数返回了当前 Python 解释器的实例。因此,我们可以使用此实例来访问该解释器中已定义的变量。
例如,假设在单元格 1 中定义了一个名为 text
的变量:
text = "Hello, world!"
然后,在单元格 2 中,我们可以使用 get_ipython
函数访问 text
的值,如下所示:
get_ipython().run_line_magic('store', 'text')
这将把 text
变量添加到全局命名空间中,以便在其他单元格中使用。
在其他单元格中,我们可以使用已定义的变量,例如:
print(text)
另一个获取单元格值的方法是使用预处理指令。在每个单元格的顶部,我们可以使用前缀 %
来运行一些不属于 Python 的命令,例如 ls
或 cd
。同样,我们也可以使用预处理指令 %store
来存储变量,并在其他单元格中使用。
例如,在单元格 1 中定义一个变量,使用 %store
存储:
text = "Hello, world!"
%store text
然后,在单元格 2 中,我们可以使用 %store
获取 text
的值,如下所示:
%store -r text
print(text)
这将从存储中检索 text
变量的值并打印它。
例如,我们想要将一个函数定义放在单独的单元格中,并在另一个单元格中使用它。我们可以在函数定义所在的单元格中使用 %store
将函数对象存储起来:
def greeting(name):
print(f"Hello, {name}!")
%store greeting
然后,在单元格 2 中,我们可以运行以下代码来检索该函数:
%store -r greeting
然后就可以在单元格 2 中使用 greeting
函数了:
greeting("World")
输出:
Hello, World!
这种方法可以很好地用于在同一 Colab 笔记本中重复使用代码。