gpt4 book ai didi

Python类解释

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:23 26 4
gpt4 key购买 nike

为什么 Python 将这些类视为不同的数据类型?

>>> class A:
... pass
...
>>> class B(object):
... pass
...
>>> a = A()
>>> b = B()
>>> type(A)
<type 'classobj'>
>>> type(B)
<type 'type'>
>>> type(a)
<type 'instance'>
>>> type(b)
<class '__main__.B'>

我很新。所以我真的不明白为什么它将所有这些都视为不同的数据类型。它们都是类,所以看起来它们应该是一样的。

最佳答案

您正在使用 Python 2。

Python 2 允许不从 object 继承的类,这是在 2.2 版中添加的。它们在某些方面与“新型类”的行为不同,您已经发现了一些。

除了保持向后兼容性之外,没有其他原因导致不同的行为,即确保为旧式类编写的代码在新版本的 Python 2 中继续工作。

Python 3 不向后兼容,也没有旧式类。如果您在 Python 3 中编写了相同的代码,那么即使您没有明确说明,A 也会继承自 object

关于Python类解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19655395/

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