在Pycharm中处于调试模式时,Evaluate Expression -> Code Fragment
工具似乎无法一次性分配和显示变量。唯一似乎正确评估的情况是第一行是一个常数值。
例如
10
中的预期结果
result = {int} 10
但是在尝试获得相同的结果时:
c = 10
c
输出
result = {NoneType} None
但是,如果我将鼠标悬停在片段窗口中的每个变量上,则值将显示为弹出窗口。
答案 0 :(得分:9)
编辑总结评论(感谢Vaibhav Mishra):
不幸的是,这似乎是默认行为:(won't fix bug)
我对此功能的理解:
虽然Pycharm在评估多行时会显示None result
,但它们在当前所选堆栈帧的上下文中全部执行。其中一个后果是更新命名空间。随后在相同的上下文(或鼠标悬停)中使用单行评估将显示预期值。
两种潜在的用法:
Evaluate Code Fragment
对话框:Select a block | Evaluate Expression (Alt+F8)
。可能有助于调整几行并一次运行评估。Debug Command Line
的替代,代码片段模式支持循环和if / else。虽然检查看起来有些醉意(错误的未解决的变量),但可以忽略它,并且可以很好地利用那里提供的编辑帮助。