小编典典

python中对象和实例之间的区别?

python

这发生在python2.7中

我正在研究python中元类的想法,几乎所有教程都将对象引用为python中类的实例。但是,在使用类A():定义类的形式时,我看到了:

class ClsDef1():
    pass
C1 = ClsDef1()
print C1
<__main__.ClsDef1 instance at 0x2aea518>

class ClsDef2(object):
    pass
C2 = ClsDef2()
print C2
<__main__.ClsDef2 object at 0x2ae68d0>

这意味着当从不是对象固有的类创建实例时,该实例是实例,但是当类是对象固有的类时,该类的实例是对象吗?

谁能解释其中的区别?在现实生活中,我应该使用哪一个?

谢谢!


阅读 347

收藏
2021-01-20

共1个答案

小编典典

这是新样式类和旧样式类之间的区别,在文档中对此进行了详细说明。基本上,在Python
2.x中,应确保始终从对象继承,以便获得新样式的类。在Python 3中,旧式类已完全消失。

2021-01-20