python-3.x - 在spyder中python 3的ipython控制台上出现变量问题

标签 python-3.x python-2.7 variables scope spyder

最近我正在考虑主要使用 python 3,尽管到目前为止我已经使用了 python 2.7。
但是我在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:名称“a”未定义
当我在 ipython 控制台中输入 a 时,控制台输出 1

我可以在 python 3 环境中执行与 python 2 中相同的操作吗?

提前谢谢您。

最佳答案

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

关于python-3.x - 在spyder中python 3的ipython控制台上出现变量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63360504/

相关文章:

python - 从另一个文件导入变量以在 python 中运行

python - 函数描述符是如何工作的?

python-3.x - Jinja 找不到模板路径

python-3.x - Sqlalchemy 按计算的日期时间进行过滤 Hybrid_property

python - 为什么在 Python 中从不同路径调用类时 __class__ 不同?

python-2.7 - django-rest-framework 3.0 中的 "get_paginated_response"

python-2.7 - python : How to Modify metadata of Microsoft Office files?

python - 学习 : Is there any way to debug Pipelines?

c - 为什么在 main() 函数的起始行之后声明变量会导致错误?

mysql - 为什么当我使用 cast 创建日期并将其设置为 mysql 变量时,它存储为 BLOB?