如何在Python及pdb中检查对象,同时查看属性与当前值?
在Python pdb中查看对象的属性及对应值
当然可以,这里有几种实用的方法:
直接打印对象:
使用pdb内置的p(打印)或pp(美化打印)命令直接输出对象,多数类会实现__repr__或__str__方法,能直接展示关键属性和值:p myObj pp myObj # 更适合嵌套结构的对象生成属性-值字典:
用字典推导式把dir()返回的属性名和对应值配对,再用pp输出,格式更规整:pp {attr: getattr(myObj, attr) for attr in dir(myObj)}遍历打印所有属性:
如果需要逐行查看每个属性的细节,可以在pdb中执行一行循环命令(前面加!表示执行Python代码):!for attr in dir(myObj): print(f"{attr}: {getattr(myObj, attr)}")
注意:某些特殊属性(比如方法、描述符)在获取值时可能会返回函数对象或其他特殊类型,这是正常的,符合Python对象的特性。
内容的提问来源于stack exchange,提问作者Ringger81
相关产品推荐
相关产品推荐

