gpt4 book ai didi

python - python中的类型类和对象类有什么区别

转载 作者:行者123 更新时间:2023-12-05 01:31:05 24 4
gpt4 key购买 nike

我正在学习元类,我看到每个类都是 python 中类型类的子类,但有时我看到人们正在使用对象类,但对象类也是类型类的子类,那么它们之间有什么区别?

enter image description here

最佳答案

对象 不是类型 的子类:它是类型的实例

object,类,是 Python 中所有类层次结构的根 - 然而,由于 Python 中的一切都是实例,它必须有一个“类”,当使用适当的参数正确实例化时结果。

因为这是一个明显的“先有鸡还是先有蛋”的悖论,毕竟 type 类本身必须从 object 继承,类层次结构的那一部分是在循环中手工连接的:它会是不可能在纯 Python 代码中复制相同的关系。

最后:作为元类实例的类与继承或作为该元类的子类不同:继承层次结构是一回事,用于构造每个类本身的元类是另一回事,正交的东西。

因此,回顾一下:Python 中的所有类本身都是“元类”的实例 - 默认元类是 type。 Python 中的所有类也继承自 object - 包括 type。类 object 本身也必须是 type 的一个实例,并且这种关系在 Python 运行时源代码中是硬编码的(在 cPython 的情况下是用 C 编写的)

关于python - python中的类型类和对象类有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66499554/

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