在Python中创建对象

在Python中创建对象,python,Python,在声明对象时,它们之间有什么区别吗 class MyStuff(object): def __init__(self): self.tangerine = "And now a thousand years between" 及 是的,有区别。至少,Python2中存在差异 class MyStuff:创建一个旧式类 类MyStuff(对象):创建一个新样式的类 在Python3中,所有类都是新样式的 从 类和实例有两种风格:旧式(或经典)和 新式的 直到Python2.1,类的概念

在声明对象时,它们之间有什么区别吗

class MyStuff(object):

def __init__(self):
    self.tangerine = "And now a thousand years between"


是的,有区别。至少,Python2中存在差异

class MyStuff:
创建一个旧式类

类MyStuff(对象):
创建一个新样式的类

在Python3中,所有类都是新样式的

类和实例有两种风格:旧式(或经典)和 新式的

直到Python2.1,类的概念与 类型和旧样式类是唯一可用的样式。为了 旧式类,语句
x.\uu class\uuu
提供
x
类, 但是
类型(x)
总是
。这反映了以下事实: 实现了所有独立于类的旧式实例 使用单个内置类型,称为实例

Python2.2中引入了新的样式类来统一概念 阶级和类型的。新样式的类只是用户定义的类型,不是吗 多多益善。如果
x
是新样式类的实例,则
type(x)
通常与
x.\uuuuuu class\uuuuuuuu
相同(尽管这不能保证 –允许一个新样式的类实例覆盖该值 为
x.\uuuuu类\uuuuuu
)返回

引入新型课程的主要动机是提供 具有完整元模型的统一对象模型。它还具有许多功能 实际的好处,比如能够对大多数内置类型进行子类划分, 或者引入“描述符”,使计算 财产

出于兼容性的原因,默认情况下类仍然是旧式的。 通过指定另一个新样式类来创建新样式类 (即类型)作为父类,或“顶级类型”对象(如果没有) 需要另一位家长。新型班级的表现各不相同 从那老式班里的一些重要细节来看 添加type()返回的内容。其中一些变化是根本性的 对于新的对象模型,就像调用特殊方法的方式一样。 其他的则是以前无法实施的“修复” 兼容性问题,如在出现问题时的方法解决顺序 多重继承

本手册旨在全面介绍Python的 在课堂上,它在某些方面可能仍然缺乏 它对新型课程的覆盖。请看 关于额外费用的来源 信息

Python3中删除了旧样式的类,只留下了新样式的类 上课


阅读数据模型文档,特别是init方法与此相关:如果您使用的是Python3.x,则没有区别,因为它只有新样式的类。。。如果您使用的是Python2.x,那么第一个示例将生成一个新样式的类,第二个示例将生成一个旧样式的类。。。就这样
class MyStuff:

def __init__(self):
    self.tangerine = "And now a thousand years between"