gpt4 book ai didi

python - Python 中的内置类元类

转载 作者:行者123 更新时间:2023-11-28 22:19:58 24 4
gpt4 key购买 nike

是否有任何不是 type 元类实例的内置 Python 类?

>>> type(list)
<type 'type'>
>>> type(dict)
<type 'type'>
>>> type(some_builtin_python_class)
<type 'some_type_other_than_type'>

最佳答案

取决于您所说的“内置”是什么意思。如果您指的是作为内置函数公开的任何 C 实现的(在 CPython 中)类(在 builtin 中),那么不,它们都没有不同的元类。*

但在 stdlib 中肯定有一些类可以做到。例如:

>>> type(collections.abc.Iterable)
abc.ABCMeta

澄清一下:其他元类当然是类型的子类,因此,根据正常的继承规则,isinstance(Iterable, type) 仍然是正确的——但事实并非如此 type(Iterable) == type .这就是您在问题中要求的类型 - type(T) 的类型返回 <type 'some_type_other_than_type'> .


* 不在 3.x 中,无论如何。在 2.x 中情况有所不同,那里有经典类,而且,曾几何时,“假类”实际上是看起来像 type 的函数。实例但不是,并返回隐藏的实例 type调用时的实例。

关于python - Python 中的内置类元类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49248732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com