spyder中python 3的ipython控制台上的变量问题

问题描述

尽管到目前为止我已经使用python 2.7,但最近我正在考虑主要使用python3。
但是我在python 3上遇到了如下可变问题。

例如,以下代码可在python 2中正常工作。

#print a 
a=1

我在spyder 3.3.6的ipython控制台(python 2.7.16)上多次运行了名为test.py的代码。 第一次运行后,我在第一行中删除了#。 然后,ipython控制台输出1的值a

但是,当我在spyder 4.0.1的ipython控制台(python 3.7.6)上运行上述代码(第一行用#print(a)替换)时,ipython控制台输出一条错误消息, NameError: name 'a' is not defined
当我在ipython控制台中输入a时,控制台将输出1

我可以在python 3环境中做与在python 2中相同的事情吗?

谢谢。

解决方法

在运行脚本时有一个设置,称为“在控制台的命名空间中运行,而不是空的”。 如果选中该框,它将变量保留在名称空间中。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...