我开始使用Python编写各种项目的代码(包括Django web开发和Panda3D游戏开发)。
为了帮助我理解发生了什么,我想基本上“看看”Python对象内部,看看它们是如何运行的——比如它们的方法和属性。
假设我有一个Python对象,我需要什么来打印它的内容?这可能吗?
我开始使用Python编写各种项目的代码(包括Django web开发和Panda3D游戏开发)。
为了帮助我理解发生了什么,我想基本上“看看”Python对象内部,看看它们是如何运行的——比如它们的方法和属性。
假设我有一个Python对象,我需要什么来打印它的内容?这可能吗?
当前回答
此外,如果您想查看列表和字典内部,可以使用pprint()
其他回答
如果你对此感兴趣,可以看看objbrowser。它使用Python标准库中的inspect模块进行下面的对象内省。
首先,阅读原文。
其次,使用dir()函数。
尝试使用:
print(object.stringify())
其中object是要检查的对象的变量名。
这将打印出格式化良好的选项卡输出,显示对象中所有键和值的层次结构。
注意:这在python3中有效。不确定它是否适用于早期版本
更新:这并不适用于所有类型的对象。如果你遇到了这些类型之一(比如Request对象),请使用以下类型之一:
dir(对象)
or
进口pprint 然后: pprint.pprint (object.__dict__)
你可以在shell中使用dir()列出对象的属性:
>>> dir(object())
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
当然,还有inspect模块:http://docs.python.org/library/inspect.html#module-inspect
如果您想查看参数和方法,就像其他人指出的那样,可以使用pprint或dir()
如果您想查看内容的实际值,可以这样做
object.__dict__