我对python中的新旧样式类有些困惑。 因此,基本上,在Python 3.X中,只有可以同时继承而不能从其他类继承的新样式类,而在Python 2.X中,新样式类必须是另一个类或对象的子类,而旧样式类可以'根本不会继承。是吗?
答案 0 :(得分:1)
不。在Python 2中,要使一个类成为新式类,它必须从object
(或某些继承的超类)继承。旧的类会继承其他旧的类,但是基类不会从object继承。他们只是写成class MyClass:
。
通常,当新课程问世时,人们开始写class MyClass(object):
,并且对于99%的使用,一切都保持不变。区别在于双下划线方法和其他低级细节,这些细节对于大多数代码都无关紧要。
这样做的目的是消除内置类型和用户定义的类之间的差异; Guido的推理可以读为here。
现在这已成为历史,Python 3仅包含类。 Python 2.2引入了新型类,并于 2001年12月21日发布。您不需要知道这一点。