如何使用 python 调试器检查复杂变量(列表、字典、对象)值,我是 python 新手,我尝试了 pudb,看起来当变量类型为复杂类型时,调试器只显示变量的类型,而不是价值。
是否可以使用 pudb 检查值?或者有没有其他 python 调试器可以做到这一点?
要在 pudb 中查看复杂数据类型的内容:
使用向右箭头将光标移动到右侧的变量框。
使用向上和向下箭头将光标移动到您感兴趣的变量。
使用反斜杠“\”来显示/隐藏数据结构的内容。
您只需按“!”即可进入 python/ipython shell。. 然后你可以玩弄你的变量(查看它们,改变它们,等等)
序列类型的打印语句在 pdb 子控制台中正常工作,如下所示
>>> import pdb
>>> l=[9,0]
>>> def j():l=[1,2,3]
...
>>> pdb.run('j()')
> <string>(1)<module>()
(Pdb) continue
>>> pdb.run('j()')
> <string>(1)<module>()
(Pdb) print l
[1, 2, 3]
一些 print obj.name 语句也适用于对象的属性访问。
要默认显示变量列表中所有变量的内容,您可以通过按 Ctrl+P 转到 Preferences,然后在 Variable Stringifier 下选择 str() 或 repr() 以获得类似于 Python 解释器的变量显示。
否则,您可以通过按 s 或 r for str() 和 repr() 和 t 来切换变量列表(可通过右箭头键盘键访问)中的选定变量,然后返回以显示其类型。通过设置变量来显示其类型,您可以以有序的树形方式键入“\”(反斜杠)来扩展其内容。
如果您的变量是全局变量,或者由于某种原因您没有看到它,您必须通过点击 n 明确声明您希望观看它,然后键入它的名称。