如何在Python中遍历内置对象并调用inspect.getdoc()获取方法文档?
如何在Python内查看内置对象文档并实现遍历生成器
要解决在Python内部查看内置对象文档的问题,核心是要拿到实际的内置对象而非仅名称字符串,具体步骤如下:
1. 正确遍历内置对象
__builtins__.__dict__是一个字典,键是内置对象的名称字符串,值才是对应的对象本身。直接遍历字典只会拿到键(字符串),所以需要用items()方法同时获取名称和对象:
先导入inspect模块:
import inspect
遍历并打印名称与文档:
for name, obj in __builtins__.__dict__.items(): print(f"名称: {name}") print(f"文档: {inspect.getdoc(obj)}\n")
2. 实现自定义生成器
如果要实现逐个输出的生成器,写一个生成器函数即可:
import inspect def mybuiltins(): for name, obj in __builtins__.__dict__.items(): # 处理无文档的情况 doc_content = inspect.getdoc(obj) or "无文档说明" yield f"Method: {name}\nDoc: '{doc_content}'"
使用生成器:
gen = mybuiltins() # 每次调用next()获取下一个结果 next(gen) # 输出示例: # Method: reversed # Doc: 'Return a reverse iterator over the values of the given sequence.'
补充说明
dir(__builtins__)返回的只是内置对象的名称字符串列表,同样无法直接用于获取文档;__builtins__是模块对象,不能直接转为列表或迭代,必须通过其__dict__属性访问内部的对象映射。
内容的提问来源于stack exchange,提问作者MikeiLL
相关产品推荐
相关产品推荐

