Ech*_*oic 3 python types class object instance
为什么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'>
Run Code Online (Sandbox Code Playgroud)
我很新.所以我真的不明白为什么它将所有这些视为不同的数据类型.它们都是类,所以看起来它们应该是相同的.
你正在使用Python 2.
Python 2允许不继承的类object,这是在2.2版中添加的.他们在某些方面与"新式课程"的行为不同,你找到了一对.
除了保留向后兼容性之外,没有理由采用不同的行为,即确保为旧式类编写的代码在新版本的Python 2中继续有效.
Python 3不向后兼容,也没有旧式类.如果您在Python 3中编写了相同的代码,那么即使您没有明确说明,A也会继承object.
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |