python - types.SimpleNamespace是如何实现的?

标签 python python-3.x sys

我注意到 types.SimpleNamespace 类似乎是递归实现的。在types模块中,该类被定义为type(sys.implementation)。但是,type(sys.implementation) 只是返回 types.SimpleNamespace,这是不可能的,因为两个名称都依赖于彼此的可用性。 types.SimpleNamespace 实际是如何实现的?

最佳答案

当然type(sys.implementation)是types.SimpleNamespace,但这并不意味着后者是类型的(并且 types. 不会显示为任何内容的输出)。与 types 中公开的大多数类型一样,SimpleNamespace 在实现中定义(在 CPython 中为 C),而 types 仅提供名称 任何对于访问类型“方便”的迂回说法。 (TracebackType 是通过实际抛出和捕获虚拟异常获得的!)sys 模块实际上使用内置类型,以及其他恶作剧,例如创建 version_info 即使该类型无法实例化(之后)。

关于python - types.SimpleNamespace是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65509605/

相关文章:

python - 如何通过按键 "continue"或 "exit"程序

python - 调用 print 时是否导入了 sys 'temporarily'?

python - xbbg 的 BBG_ROOT(简化的 blpapi 包)

python - 以下 for 循环如何工作?

python - 在 python (JES) 中给函数一个操作

python - 在 Django 中跨列聚合

python - 设置函数以字符串形式返回其结果值

python - 使用python修改文本文件中的变量值

python - 从集合创建一个 numpy 数组

python - 将 Python 中的字符串从特定单词/单词剪切到字符串末尾