zoukankan      html  css  js  c++  java
  • python中经典类和新式类的区别

    要知道经典类和新式类的区别,首先要掌握类的继承。类的继承的一个优点就是减少代码,而且使代码看起来结构很完整。

    那什么是经典类,什么是新式类呢?

    经典类和新式类的主要区别就是类的继承的方式 ,经典类遵循深度优先的规则,新式类遵循广度优先的规则。至于什么是深度优先什么是广度优先,可以看如下示例:

    # Author:Zhang Zhao
    class A(object):
        def __init__(self):
            print('A')
    class B(A):
        pass
        # def __init__(self):
        #     print('B')
    class C(A):
        def __init__(self):
            print('C')
    class D(B,C):
        pass
        # def __init__(self):
        #     print('D')
    r1 = D()
    View Code

    在新式类中,D是继承B和C的,按照顺序,首先去找B,如果在B里面能找到实例化对象,便继承B,不再往别的地方寻找,如果没有,就会接着找C,而不是找B的父亲A!

    但是在经典类中,如果B中找不到,它会优先考虑B的父亲A,而不是C。

    在python3中,都是遵循广度优先的规则,在python2.7以前,应该是遵循深度优先的的规则。两种规则没有优劣之分。

  • 相关阅读:
    三调数据库标注插件
    ionic ios 打包发布流程
    ionic ios 打包 真机测试常见问题
    使用Jquery Viewer 展示图片信息
    微信支付退款证书服务器配置
    帝国CMS站点迁移
    solr 服务器搭建(Linux版)
    ionic ios 打包
    Solr 同义词搜索
    ionic 环境搭建
  • 原文地址:https://www.cnblogs.com/zz1314/p/10364417.html
Copyright © 2011-2022 走看看