美文网首页
python中经典类和新式类的区别

python中经典类和新式类的区别

作者: RichardLiLi | 来源:发表于2019-02-05 05:42 被阅读0次

在定义class的时候,有几种常见的写法,比如:

class A:

    pass

class B():

    pass

class C(object):

    pass

在python 2中查看以上各个class的类型,结果如下:

class A:

    pass

class B():

    pass

class C(object):

    pass

print type(A)

print type(B)

print type(C)

print出来的结果如下:

<type 'classobj'>

<type 'classobj'>

<type 'type'>

可见,在python 2中,加不加括号,都是表示经典的类,而如果括号里指明继承object,则为新式类。

而在python 3中,查看各个class的类型,结果如下:

class A:

    pass

class B():

    pass

class C(object):

    pass

print(type(A))

print(type(B))

print(type(C))

print之后的结果如下:

<class 'type'>

<class 'type'>

<class 'type'>

说明在python 3中,不管加不加括号,不管指不指明继承object,都是新式类。

总结:在python 3中,默认是新式类。在python 2中,默认是经典类,但如果指明是object,则为新式类。

相关文章

  • Python 中的新式/经典类

    Python 新式/经典类 新式/经典类的区别从Python2.2开始,Python 引入了 new style ...

  • python中的新式类和经典类简析

    Python新式类与经典类的区别 1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(...

  • Python 类

    新式类和旧式类 在python2.x的版本中,有“新式类”和“旧式类(也叫做经典类)”之分。新式类是python2...

  • Flask 2019-10-08

    python2与python3都有经典类和新式类这两种写法,在python2中经典类和新式类的. 继承方式不一...

  • 请简述python 经典类和新式类的区别?

    Python中类分为两种:经典类和新式类: 新式类都从object继承,经典类不需要。 新式类的MRO算法曹勇c3...

  • python 2 中的新式类、经典类

    在Python 3.x中取消了经典类,默认都是新式类;但是在Python2.x中,是有区分新式类和经典类的,pyt...

  • 新式类和旧式类区别

    Python中类分两种:旧式类和新式类:➤新式类都从object继承,经典类不需要。 ➤新式类的MRO(metho...

  • 新式类、经典类

    继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类...

  • python2与python3的经典类与新式类的继承

    python2与python3都有经典类和新式类这两种写法,在python2中经典类和新式类的继承方式不一样,在p...

  • python super用法 2018-01-28

    新式类,经典类 python3之后均称为新式类,默认继承object类 Python2.x版本分为:分新式类与经典...

网友评论

      本文标题:python中经典类和新式类的区别

      本文链接:https://www.haomeiwen.com/subject/ldwmsqtx.html