Python 在jupyter笔记本中,我注释了我的变量,而不是';变量未定义错误';我仍然获得价值输出

Python 在jupyter笔记本中,我注释了我的变量,而不是';变量未定义错误';我仍然获得价值输出,python,jupyter-notebook,Python,Jupyter Notebook,在jupyter笔记本中,当我注释变量声明并试图调用它时,不是得到“变量未定义错误”,而是在注释该变量之前得到输出,原因是什么 随机导入 number=random.randint(1,9) ##用户猜测=3 def first(): 打印(数字) def second(): 打印(用户猜测) 第二() 产出:3 它应该是“变量未定义”您必须在笔记本中使用定义的变量运行该单元格,然后才能将其注释掉并再次运行该单元格。Jupyter笔记本将先前定义的变量保存在内存中。要获取NameError(“

在jupyter笔记本中,当我注释变量声明并试图调用它时,不是得到“变量未定义错误”,而是在注释该变量之前得到输出,原因是什么

随机导入
number=random.randint(1,9)
##用户猜测=3
def first():
打印(数字)
def second():
打印(用户猜测)
第二()
产出:3


它应该是“变量未定义”

您必须在笔记本中使用定义的变量运行该单元格,然后才能将其注释掉并再次运行该单元格。Jupyter笔记本将先前定义的变量保存在内存中。要获取NameError(“user_guess not defined”),您需要重新启动笔记本内核并再次运行该单元。

Jupyter运行时将所有变量存储在内存中。例如,如果要在一个代码单元格中键入

x=1
变量x将可以在此后运行的所有单元格中访问,因为它已存储在计算机内存中。如果你要在下一个单元格中输入

打印(x)
可以在此处访问上一个单元格中的
x


同样的事情也发生在这里——你已经声明x是一个变量,所以它现在是一个位于你计算机内存中的变量。当您重新运行带有注释掉的变量名的单元格时,该变量已经在您的计算机内存中,如果重新运行代码单元格,Jupyter不会“撤消”代码单元格的结果,因此
x
不是未定义的

我知道你是新的投稿人。请根据设置问题的格式。您是从Jupyter的顶部运行代码,还是只运行第二个()函数?如果您让editsTry恢复内核,或者让jupyer清理环境,那么您将需要从顶部重新运行。