Python内省:获取所有声明的标识符及其类型

2024-05-14 02:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

在任何特定的Python解释器会话中,我都希望能够构建一个函数 full_introspect其输出将是这样的树结构:

{'identifier': {'type': type, 'substructure': {'subidentifier': {'type': etc..} ..}}, ...}

这种结构的含义是:

  • identifier实际上是指type类型的对象。所以如果我打字 identifier现在在解释器中,我将得到那个对象

  • identifier.subidentifier实际上是指etc类型的对象。所以如果我 现在在解释器中键入identifier.subidentifier,我将得到它 对象(类/对象成员、包方法等)

有没有可能不陷入无休止的循环(我猜一些包别名可能会在“树”中引入循环。我需要什么工具?这是否已经存在,所以我不需要重新发明车轮


Tags: 对象函数类型键入typeetc结构解释器