WEB开发网
开发学院软件开发Python Python 自省指南 - 如何监视您的 Python 对象 阅读

Python 自省指南 - 如何监视您的 Python 对象

 2007-03-30 12:34:10 来源:WEB开发网   
核心提示: dir() 函数尽管查找和导入模块相对容易,但要记住每个模块包含什么却不是这么简单,Python 自省指南 - 如何监视您的 Python 对象(8),您并不希望总是必须查看源代码来找出答案,幸运的是,如果不指定对象,则 dir() 返回当前作用域中的名称,Python 提供了一种方法,可

dir() 函数

尽管查找和导入模块相对容易,但要记住每个模块包含什么却不是这么简单。您并不希望总是必须查看源代码来找出答案。幸运的是,Python 提供了一种方法,可以使用内置的 dir() 函数来检查模块(以及其它对象)的内容。

dir() 函数可能是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。让我们将 dir() 函数应用于 keyword 模块,并观察它揭示了什么:

清单 16. keyword 模块的属性

>>> dir(keyword)
['__all__', '__builtins__', '__doc__', '__file__', '__name__',
'iskeyword', 'keyword', 'kwdict', 'kwlist', 'main']

那么将它应用于我们先前讨论的 sys 模块会怎么样呢?

清单 17. sys 模块的属性

>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__',
'__stdin__', '__stdout__', '_getframe', 'argv', 'builtin_module_names',
'byteorder', 'copyright', 'displayhook', 'exc_info', 'exc_type', 'excepthook',
'exec_prefix', 'executable', 'exit', 'getdefaultencoding', 'getdlopenflags',
'getrecursionlimit', 'getrefcount', 'hexversion', 'last_traceback',
'last_type', 'last_value', 'maxint', 'maxunicode', 'modules', 'path',
'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setdlopenflags',
'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout',
'version', 'version_info', 'warnoptions']

上一页  3 4 5 6 7 8 9 10  下一页

Tags:

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接