1命令行交互式
1.1 功能
如何在交互shell中即时使用变量?
在程序运行停在断点处时,能够在命令行操作和使用程序中的变量。
类似matlab的命令窗口,或vscode中的DEBUG CONSOLE
可能相关的问题:
Backend Qt5Agg is interactive backend. Turning interactive mode on.
1.2 办法
用于当前调试会话的内置python shell
-
在感兴趣代码线上设置一个断点(即通过单击装订线),然后启动调试(在编辑器中右键单击,然后选择调试myfile.py ...)。
-
当到达断点时,找到调试> “控制台”选项卡,然后单击“显示命令行”图标(请参见屏幕截图)。
这将启用python shell(请注意屏幕截图上的绿色>>>
),您可以在其中访问当前作用域中的所有变量,并执行通常在Python shell中执行的所有操作。
In recent pycharm versions you get the full ipython interpreter instead of the plain python shell (if ipython is installed).
图示“show command line”在pycharm版本2018.3及之后都改为“show python prompt”了,效果相同。
2 查看表达式结果
2.1 方式1:打开评估表达式窗口,输入表达式
2.2方式2:选中表达式执行
或选中表达式后右键选择Execute Selection in Console
作为一个更方便的选择,如果只需要检查一些变量、访问成员或调用范围内的对象的方法,一旦到达断点,请在当前范围中选择一个表达式,right-click - >评估表达式(或使用Run
→Evaluate Expression...
下的菜单中显示的热键),根据需要进行编辑 - 可以键入任何具有自动补全的可用python表达式,然后按Enter键(或者单击Evaluate)来检查结果。
支持多个和多行表达式:要获得Inspect对话框的多行版本,请单击Code fragment模式或在编辑器中选择多行代码,然后评估表达式。可以将值分配给现有变量(无法定义新变量),并运行整个代码块。
3 单个变量查看
3.1 鼠标悬停在变量上
要在调试模式下点击断点后查看变量的值,请将鼠标指针悬停在变量上(1-2秒),该变量的值将显示在工具提示中。
提示将包含一个➕
图标 - 点击它将打开一个弹出式检查器。
对于范围内的变量,检查器显示在调试下的底部面板中
3.2打开watch窗口
变量窗口经常有很多变量,查找某变量不方便。这时可以打开watch窗口只观察关注的变量。
(1)打开watch窗口
最下面的Debug中点击Variables标签页,左栏有个眼镜标识,点一下就打开Watches窗口了。
或者在底部的各种窗口中,看见眼睛标识就点。^_^
一定记得console,variables,watches这几个窗口是可以拖来拖去的,根据个人喜好摆放。
(2)观察变量
Variables窗口中的变量可以右击,
依次:Add to Watches, View as array
然后在Watches窗口中可以看到所选数据的具体信息,包括数值。
(3)variables窗口和Watches窗口并列显示
在Debug窗口左侧点击Restore Layout,在Debug窗口的Degugger选项卡页会排布Frames,Variables,Watches,效果如下。
4其他
具体见参考文献