是否有一种内置函数可以打印对象的所有当前属性和值?
是否有一种内置函数可以打印对象的所有当前属性和值?
因此,我在这里寻找类似于PHP的print_r函数。
这样我就可以通过查看对象的状态来调试我的脚本。
admin 更改状态以发布 2023年5月24日
你真的把两件事情混在一起了。
使用dir()
、vars()
或inspect
模块来获取你感兴趣的内容(我以__builtins__
为例;你可以使用任何对象代替)。
>>> l = dir(__builtins__) >>> d = __builtins__.__dict__
无论你如何花哨地打印该字典都可以:
>>> print l ['ArithmeticError', 'AssertionError', 'AttributeError',...
或者
>>> from pprint import pprint >>> pprint(l) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'DeprecationWarning', ... >>> pprint(d, indent=2) { 'ArithmeticError':, 'AssertionError': , 'AttributeError': , ... '_': [ 'ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'DeprecationWarning', ...
在交互式调试器中还可以使用一个命令进行漂亮的打印:
(Pdb) pp vars() {'__builtins__': {'ArithmeticError':, 'AssertionError': , 'AttributeError': , 'BaseException': , 'BufferError': , ... 'zip': }, '__file__': 'pass.py', '__name__': '__main__'}