5

如何使用 python 调试器检查复杂变量(列表、字典、对象)值,我是 python 新手,我尝试了 pudb,看起来当变量类型为复杂类型时,调试器只显示变量的类型,而不是价值。

是否可以使用 pudb 检查值?或者有没有其他 python 调试器可以做到这一点?

4

4 回答 4

11

要在 pudb 中查看复杂数据类型的内容:

  1. 使用向右箭头将光标移动到右侧的变量框。

  2. 使用向上和向下箭头将光标移动到您感兴趣的变量。

  3. 使用反斜杠“\”来显示/隐藏数据结构的内容。

于 2012-09-17T17:06:03.730 回答
1

您只需按“!”即可进入 python/ipython shell。. 然后你可以玩弄你的变量(查看它们,改变它们,等等)

于 2014-03-04T13:11:14.243 回答
1

序列类型的打印语句在 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 语句也适用于对象的属性访问。

于 2012-09-14T14:48:10.223 回答
1

要默认显示变量列表中所有变量的内容,您可以通过按 Ctrl+P 转到 Preferences,然后在 Variable Stringifier 下选择 str() 或 repr() 以获得类似于 Python 解释器的变量显示。

否则,您可以通过按 s 或 r for str() 和 repr() 和 t 来切换变量列表(可通过右箭头键盘键访问)中的选定变量,然后返回以显示其类型。通过设置变量来显示其类型,您可以以有序的树形方式键入“\”(反斜杠)来扩展其内容。

如果您的变量是全局变量,或者由于某种原因您没有看到它,您必须通过点击 n 明确声明您希望观看它,然后键入它的名称。

于 2018-06-14T00:38:13.367 回答