我怎么能用python调试器检查复杂的变量(list,dict,object)值,我是python的新手,我试过pudb,看起来当变量类型是复杂类型时,调试器只显示变量的类型,而不是价值。
用pudb检查价值是否可行?或者有没有其他python调试器可以做到这一点?
答案 0 :(得分:8)
要在pudb中查看复杂数据类型的内容:
使用右箭头将光标移动到右侧的 Variables 框。
使用向上和向下箭头将光标移动到您感兴趣的变量。
使用反斜杠'\'显示/隐藏数据结构的内容。
答案 1 :(得分:1)
序列类型的print语句在pdb子控制台中工作得很好,比如bellow
>>> 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语句也适用于此。
答案 2 :(得分:1)
按“!”即可进入python / ipython shell 。然后你可以玩你的变量(查看,更改它们等)
答案 3 :(得分:0)
默认情况下,要显示变量列表中所有变量的内容,可以按Ctrl + P转到“首选项”,然后在“变量字符串”下选择str()或repr(),以获得类似Python解释器的变量显示。
否则,您可以通过按s或r键选择str()和repr()来切换变量列表中的选定变量(可通过右箭头键盘键访问),然后按t返回以显示其类型。使用变量设置来显示其类型,您可以按顺序的树形式扩展其内容,键入&#39; \&#39; (反斜杠)。
如果您的变量是全局变量,或者由于某种原因您没有看到它,则必须通过按n然后键入其名称来明确声明您希望观看它。