在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"