编码时"killing the kernel"是什么?

What is "killing the kernel" when coding?

有人建议我“杀死内核”,因为即使我的代码在我老师的计算机上运行,​​我的代码也无法在我的计算机上正常运行,他在离开前建议内存中的代码与显示的代码不同,而且我应该杀死内核看看它是否有效,但我搜索了一下,我只能发现内核是我的 OS 的核心,所以我不知道这与什么有什么关系,因为我的代码很简单。

当我关闭计算机上的某个程序时,它会删除所有临时保存的信息并关闭该程序。杀死内核正是这样做的,但没有关闭前端。

假设您正在使用 Microsoft Word,它死机了,因此您需要重新启动它。它关闭了整个该死的东西然后重新打开它。如果你能在word中杀死内核,它会保持word的前端打开,但只是关闭后端。

简短说明

Jupyter 内核和 OS 内核不同 。你的导师是对的。如果您要重用变量名,您应该重新启动 Jupyter 内核。

详细说明

所以基本上在 jupyter 笔记本中,你 运行 你的代码在单元格(块)中。每个块可以在不同的时间执行,而不是正常的程序(逐行)方法。因此,经常重复使用一个变量名然后 运行ning 一个旧块可能会导致冲突。 例如(将每个换行符视为笔记本中的一个新单元格)

temp = 3 # First Cell -> We run this cell only once
temp = temp + 5 # We run this cell 2nd time without running the First cell
print(temp)

如果我们 运行 从开始(第一次)开始的所有三个块,最终结果是 8。但是如果我们再次 运行 第二个单元格,结果将是 13。这是一个简单的您可以再次 运行 temp = 3 并修复代码的场景。但真正的问题发生在变量中存储了大型数组或图像时。如果您的前一个块没有正确处理变量,而您 运行 下一个具有相同变量的块,您将无法预测 result/errors.

因此,与其从上方转到每个单元格并开始编码。只需选择选项