当前位置: 首页 > news >正文

广州微信网站制作icp备案号查询官网

广州微信网站制作,icp备案号查询官网,旅游网站建设和实现,营销系统super关键字的用法 一、概述二、作用三、语法四、使用示例1.通过super() 来调用父类的__init__ 构造方法#xff1a;2.通过supper() 来调用与子类同名的父类方法2.1 单继承2.2 多继承 一、概述 super() 是python 中调用父类#xff08;超类#xff09;的一种方法#xff0… super关键字的用法 一、概述二、作用三、语法四、使用示例1.通过super() 来调用父类的__init__ 构造方法2.通过supper() 来调用与子类同名的父类方法2.1 单继承2.2 多继承 一、概述 super() 是python 中调用父类超类的一种方法在子类中可以通过super()方法来调用父类的方法。 超类 是指 2层以上的继承关系假如 C类继承B类B类由继承A类那么A类就是C类的超类 二、作用 使用继承时让代码维护更加简单解决多继承带来的重复调用菱形继承、查找顺序MRO问题 三、语法 super(type[, object-or-type])其中 type – 类。 object-or-type – 类一般是 self 注Python 3 和 Python 2 的另一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx 四、使用示例 1.通过super() 来调用父类的__init__ 构造方法 class Person():def __init__(self):print(我是Peson的__init__构造方法)class Student(Person):def __init__self:super().__init__()print我是Student的__init__构造方法)stu Student() 运行结果 2.通过supper() 来调用与子类同名的父类方法 2.1 单继承 在单继承中 super 就像大家所想的那样主要是用来调用父类的方法的。 class A:def __init__(self):self.n 2def add(self, m):print(self is {0} A.add.format(self))self.n mclass B(A):def __init__(self):self.n 3def add(self, m):print(self is {0} B.add.format(self))super().add(m)self.n 3 b B() b.add(2) print(b.n) 输出结果 1、super().add(m) 确实调用了父类 A 的 add 方法。 2、super().add(m) 调用父类方法 def add(self, m) 时, 此时父类中 self 并不是父类的实例而是子类的实例, 所以 b.add(2) 之后的结果是 5 而不是 4 2.2 多继承 在多继承中会涉及到一个MRO(继承父类方法时的顺序表) 的调用排序问题。即严格按照MRO 顺序执行super方法 class A:def __init__(self):self.n 2def add(self, m):print(self is {0} A.add.format(self))self.n mclass B(A):def __init__(self):self.n 3def add(self, m):print(self is {0} B.add.format(self))super().add(m)self.n 3class C(A):def __init__(self):self.n 4def add(self, m):print(self is {0} C.add.format(self))super().add(m)self.n 4class D(B, C):def __init__(self):self.n 5def add(self, m):print(self is {0} D.add.format(self))super().add(m)self.n 5d D() d.add(2) print(d.n) out: self is __main__.D object at 0x10ce10e48 D.add self is __main__.D object at 0x10ce10e48 B.add self is __main__.D object at 0x10ce10e48 C.add self is __main__.D object at 0x10ce10e48 A.add 19 同样不管往上调用几次调用父类方法中 self 并不是父类的实例而是子类的实例在上例中都是D的实例化对象 D.mro() [D,B, C, A, object] 多继承的执行顺序会严格按照mro的顺序执行。 整体的调用流程图如下 1.super().__init__相对于类名.init在单继承上用法基本无差别 2.但在多继承上有区别super方法能保证每个父类的方法只会执行一次而使用类名的方法会导致方法被执行多次。 3.多继承时使用super方法对父类的传参数应该是由于python中super的算法导致的原因必须把参数全部传递否则会报错 4.单继承时使用super方法则不能全部传递只能传父类方法所需的参数否则会报错
http://www.pierceye.com/news/664133/

相关文章:

  • seo快速建站自学程序员的步骤
  • 做旅行网站的依据及意义如何制作自己想要的图片
  • 电子商务网站怎么做网站建设企业建站哪家好?来这里看看
  • 网站备案电话号码购物商城网站建设方案
  • 手机商城系统徐州seo计费管理
  • 西安网站公司哪家好信息推广的方式有哪些
  • 网站开发注意的事项商丘网站制作软件
  • 51zwd一起做网站广州广东省网站备案查询
  • 如何生成一个网站自己弄公司网站
  • 企业信用信息查询网官网孝感网站seo
  • 中淼建设工程有限公司网站分类用wordpress
  • 腾讯建设网站首页做销售网站
  • 推广引流网站聚名网注册
  • 原来做网站后来跑国外了多伦多网站建设多少钱
  • 手机建站平台做母婴网站设计思路
  • 免费个人手机网站九八智能建站
  • 中山网站备案如何做购物网站
  • 常见的简单的网站制作建设网站的好公司
  • 邯郸网站制作建设wordpress+怎么迁移
  • 设计创意广告上海企业网站优化
  • 自己做网站需要购买服务器吗WordPress文章相册修改
  • 校园招聘哪个网站做的好学做川菜网站
  • 大足网站建设公司医院网站建设熊掌号
  • 做网站编辑是不是也要做推广做蛋白go分析网站
  • 免费品牌网站制作云南电商网站建设
  • 宿迁莱布拉网站建设常州做网站建设的公司
  • 广东网站建站系统哪家好常州网站搭建公司
  • 400网站建设推广软件工程师工资
  • 专门做正品的网站手机版深圳市门户网站建设怎么样
  • 做外贸比较好的网站有哪些北京短视频代运营