加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 类的对象和实例之间的区别[复制]

发布时间:2020-12-20 11:25:32 所属栏目:Python 来源:网络整理
导读:参见英文答案 Difference between class declarations????????????????????????????????????3个 这有什么区别: class ThisIsAClass(object) passprint ThisIsAClass() __main__.ThisIsAClass object at 0x7f0128a8fd10 还有这个? class ThisIsAClass() pas
参见英文答案 > Difference between class declarations????????????????????????????????????3个
这有什么区别:

class ThisIsAClass(object)
    pass

print ThisIsAClass()
>> <__main__.ThisIsAClass object at 0x7f0128a8fd10>

还有这个?

class ThisIsAClass()
    pass

print ThisIsAClass()
>> <__main__.ThisIsAClass instance at 0x7f0128a8fd10>

解决方法

声明的类型不同.新式类继承自object或其他新式类.

class NewStyleClass(object):
    pass

class AnotherNewStyleClass(NewStyleClass):
    pass

旧式的课程没有.

class OldStyleClass():
    pass

好吧,新样式类继承自对象或其他新样式类.

在Python 2.1中,旧式类是用户可用的唯一风格. (旧式)类的概念与类型的概念无关:如果x是旧式类的实例,则x .__ class__指定x的类,但类型(x)始终是<输入'instance'>.这反映了这样一个事实,即所有旧式实例独立于其类,都使用一个称为实例的内置类型实现.

Python 2.2中引入了新式类来统一类和类型.新式类既不多于也不少于用户定义的类型.如果x是新样式类的实例,则类型(x)与x .__ class__相同.

引入新式类的主要动机是提供具有完整元模型的统一对象模型.

出于兼容性原因,默认情况下类仍为旧式.

Python 3只有新式的类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读