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

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

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


当前回答

检查代码的两个好工具是:

IPython。一个允许你使用制表符完成检查的python终端。 使用PyDev插件的Eclipse。它有一个优秀的调试器,允许您在给定的位置中断,并通过浏览所有变量作为树来检查对象。您甚至可以使用嵌入式终端在该位置尝试编码或键入对象并按'。,让它为你提供代码提示。

其他回答

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

此外,如果您想查看列表和字典内部,可以使用pprint()

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

object?

Python有一组强大的自省特性。

看看下面的内置函数:

(型) dir () (id) getattr () hasattr () globals () locals () callable ()

Type()和dir()分别对于检查对象的类型及其属性集特别有用。

如果你有兴趣查看对象myobj对应的函数的源代码,你可以输入iPython或Jupyter Notebook:

myobj ? ?