在vs代码中运行选定代码行时出错

omvjsjqw  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(292)

我无法在vs代码中运行所选的代码块。
如果我把代码作为一个整体来运行,那么它运行得很好

import numpy as np
x = np.arange(5)
print(x)

如果我选择行 print(x) 和新闻 Shift+Enter ,它会产生

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

编译一结束,这些对象似乎就从内存中删除了。有人能解释一下这个问题的原因和解决方法吗?
非常感谢。

fkaflof6

fkaflof61#

正如您已经知道的,每次执行内存中的代码时,前面的对象都会被擦除。
当您只运行print语句时,就像您只运行 print(x) 在新文件中,而不定义它。
据我所知,这是无法更改的,因为python解释器就是这样工作的,它使用所选代码创建一个临时文件并运行该文件。该文件中包含未定义的对象,因此会引发异常。

相关问题