我开始使用Python编写各种项目的代码(包括Django web开发和Panda3D游戏开发)。

为了帮助我理解发生了什么,我想基本上“看看”Python对象内部,看看它们是如何运行的——比如它们的方法和属性。

假设我有一个Python对象,我需要什么来打印它的内容?这可能吗?


当前回答

首先,阅读原文。

其次,使用dir()函数。

其他回答

已经有很多好的提示了,但还没有提到最短和最简单的(不一定是最好的):

object?

首先,阅读原文。

其次,使用dir()函数。

你可以在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一起工作效果很好

如果你对此感兴趣,可以看看objbrowser。它使用Python标准库中的inspect模块进行下面的对象内省。