python super

1. super并不是一个函数,是一个类名,形如super(B, self)事实上调用了super类的初始化函数,

产生了一个super对象;

2. super类的初始化函数并没有做什么特殊的操作,只是简单记录了类类型和具体实例;

3. super(B, self).func的调用并不是用于调用当前类的父类的func函数;

4. Python的多继承类是通过mro的方式来保证各个父类的函数被逐一调用,而且保证每个父类函数

只调用一次(如果每个类都使用super);

5. 混用super类和非绑定的函数是一个危险行为,这可能导致应该调用的父类函数没有调用或者一

个父类函数被调用多次。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,820评论 0 9
  • @(python) super(type, obj) 子类中定义了同父类同名的函数后,需要显示调用父类函数时,可以...
    orientlu阅读 5,049评论 7 4
  • Python进阶-继承中的MRO与super @(Python)[python, python进阶] [TOC] ...
    理查德成阅读 5,454评论 2 10
  • 阅读各种框架的源码时,各种super满天飞,嗯,所以又再次下决心搞懂他 先来一个比较简单的例子 再定义一个继承它的...
    Zliang_hhh阅读 3,511评论 1 4
  • 恩,已经有几天没有认真的写东西了,好像是因为过节,故意给自己找了理由而松懈。还有九天任务就结束了,两个多月,时间过...
    小橙小橙小橙阅读 1,092评论 0 0