编码时什么是“杀死内核”?

问题描述

有人建议我“杀死内核”,因为我的代码在我的计算机上无法正常运行,即使它在我老师的计算机上运行,​​他在离开之前建议内存中的代码显示代码不同,我应该杀死内核以查看它是否有效,但我搜索并发现内核是我的操作系统的核心,所以我不知道这有什么关系,因为我的代码非常简单。>

解决方法

简短说明

Jupyter 内核和操作系统内核不是同一个 Read Here。你的导师是对的。如果您要重用变量名,则应重新启动 Jupyter 内核。

详细解释

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

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再次修复代码。但真正的问题发生在变量中存储了大型数组或图像时。如果您的前一个块没有正确处理变量,而您使用相同的变量运行下一个块,您将得到不可预测的结果/错误。

所以不要从上面到每个单元格开始编码。只需选择选项 Image Menu

,

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

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