当我在Pycharm中调试我的Python代码时,我经常想要更改原始代码设置的一些变量.
我可以通过Debugger选项卡执行此操作,单击相应的变量并使用Set Value函数进行更改.这种感觉太多了,我宁愿通过控制台界面来做.但是当我尝试这个时,它不会更新变量:
>>> filename
Out[6]: 'a'
>>> filename='b'
>>> filename
Out[8]: 'a'
Run Code Online (Sandbox Code Playgroud)
有没有办法通过控制台界面更改这些类型的变量?

你完全可以做到这一点.在断点处停止时:
注意:如果关闭按钮并且程序结束时,交互式控制台回显命令(图像中带有>>> C的行)将消失,这有点奇怪.我经常想复制我输入的命令.
上面的答案似乎像个错误,表明可以操纵已经存在的对象的状态,但是似乎不可能为变量本身分配新的值(或对象)。
请参阅以下代码段进行说明:
>>> var_obj.temp = 1
>>> var_obj
Out[2]: namespace(temp=1)
>>> var_obj.temp2 = 2
>>> var_obj.temp = 10
>>> var_obj
Out[5]: namespace(temp=10, temp2=2)
>>> var_simple = 10
>>> var_simple
Out[7]: 1
Run Code Online (Sandbox Code Playgroud)
该问题早在2013年就已报告给PyCharm问题跟踪器(请参阅链接)。人们报告说该问题自PyCharm 3起就存在,有人建议这可能是python问题,而不是PyCharm,但不清楚原因。
无论如何,这种行为是令人困惑的,并且至少在尝试调试时应予以考虑-直到问题得到解决。
| 归档时间: |
|
| 查看次数: |
3847 次 |
| 最近记录: |