【发布时间】:2023-03-21 07:46:01
【问题描述】:
我正在用 Python 编写一些序列化/反序列化代码,这些代码将从一些 JSON 读取/写入继承层次结构。在发送请求之前,我们不会知道确切的组成。
因此,我认为递归内省要发出的 Python 类层次结构的优雅解决方案,然后在通过树返回的过程中,在 Python 基本类型中安装正确的值。
E.g.,
A
|
|\
| \
B C
如果我在 B 上调用我的“内省”例程,它应该返回一个 dict,其中包含从 A 的所有变量到它们的值的映射,以及 B 的变量和它们的值。
就目前而言,我可以查看B.__slots__ 或B.__dict__,但我只能从中提取B 的变量名。
仅给定 B,我如何获得 A 的 __slots__/__dict__? (或 C)。
我知道 python 不直接支持像 C++ 及其后代那样的强制转换-
【问题讨论】:
标签: python reflection introspection