python继承,看这篇就够了
admin
2024-04-29 11:03:54
0

前言

说到面向对象,大家都不陌生。在python中,一切皆对象,我们使用类来表示具有相同属性和方法的对象的集合。而继承则是一种创建新类的方式,这个新类可以使用被继承类的属性。今天就来说说python中的继承。

继承的概念

继承用于类的创建上,新创建的叫子类,而被继承的叫做父类。子类可以使用父类属性,继承是描述类与类之间的关系。

为什么要用继承呢?因为继承可以减少代码的冗余以及提高代码的重用性。我们在工作中,用到继承的地方很多。

继承的种类

python里继承总共有单继承、多继承和多层继承。

单继承

单继承指的是子类只继承一个父类。示例:

class A():def __init__(self):self.a = 'a'def test_a(self):print("aaaa")class B(A):def __init__(self):self.b = 'b'def test_b(self):self.test_a()print("bbbb")obj = B()
obj.test_b()复制代码

例子中,B类只继承A类的方法。在B类中用self.test_a()即可调用A类的test_a()方法。

多继承

多继承指的是子类继承了多个父类。来个示例:

class A():def __init__(self):self.a = 'a'def test_a(self):print("aaaa")class B():def __init__(self):self.b = 'b'def test_b(self):print("bbbb")class C(A, B):def __init__(self):self.c = 'c'def test_c(self):self.test_a()self.test_b()
复制代码

例子中,C类就分别继承了A类和B类的方法。 多层继承就是指子类继承的父类也有继承别的类,这里就不举例了。

子类重写父类方法

在某些场景下,子类继承了父类的属性和方法,但子类有同名的方法,这时候就需要重写子类的方法了。

class A():def __init__(self):self.a = 'a'def test(self):print("aaaa")class B(A):def __init__(self):self.b = 'b'super().__init__()def test(self):print("bbbb")
复制代码

例子中B类继承A类的属性和test()方法,但B也有test方法,那么只需要在B类中重新定义个test()方法即可。

继承的注意事项及常见运用

注意事项

  • 子类如果重写了__init__方法,子类就不会自动继承父类__init__中的属性。如果要继承父类的属性,需要用到super方法,我们在B类的__init__方法中加上:
super(子类,self).__init__(参数0,参数1...)
父类名称.__init__(self,参数0,参数1...)
复制代码

若继承父类的所有属性就直接用super().__init__()

  • 在调用基类方法时,需加上基类的类名前缀,并带上self参数变量。但在类中调用普通函数不需要带上self函数。

常见运用

继承在python中运用非常广,比如各种模块源码就使用到了继承,我们写代码时如配置代码、log日志打印都用到了继承。

相关内容

热门资讯

CTI华测检测与丰宾电子落地全... (全球TMT 2026年07月09日讯)6月26日,丰宾电子科技股份有限公司与华测检测认证集团股份有...
87家城商行上榜《2026年度... 7月8日,英国《银行家》杂志(The Banker)发布2026年度全球银行1000强榜单,该榜单以...
银行小程序“瘦身”潮起!流量红... 当遍地开花的银行小程序加速退场,一场以存量深耕、协同经营为核心的渠道重构正在银行业上演。7月9日,北...
微信小程序开发需要多久?从3天... 微信小程序开发需要多久?每个商家在启动项目前最关心的问题之一。时间就是成本,时间就是商机。在长沙云中...
商品老兵:现在是抄底黄金的最佳... 黄金价格较高点回调逾25%,但在大宗商品资深投资人看来,这场调整恰恰是难得的布局窗口。 近日,在Ri...
股价提前涨停!603986,上... 今日盘后,兆易创新(603986.SH)公告称,预计2026年半年度归属于上市公司股东的净利润为69...
担忧AI投资热潮!美联储,还是... 北京时间7月9日凌晨,美联储公布今年6月联邦公开市场委员会(FOMC)政策会议纪要。纪要显示,随着通...
1480亿,东莞草根女首富刚刚... “要么不做,要做就做第一。” 来源:元素elements 作者:李冰之 编辑:吾人 刚刚,鼎泰高科成...
原创 一... 路过小区街边,总能看见不少经营多年的烟酒商行贴着转让告示。 前阵子楼下开了十多年的老店清仓甩货,成箱...
珞石赴港,“机器人们”等待上岸 盘中最高涨超17%,港股再迎来自机器人赛道的优质标的。 7月9日,覆盖工业机械臂、协作机器人、具身智...
日经225指数日内涨幅达1% 日经225指数日内涨幅达1%。
安全可信,算力赋能智慧医疗!山... 近日,山一大一附院(省千佛山医院)“基于安全可信框架的分布式大模型算力服务项目”已完成招标,后续建设...
乔路铭开启申购即将登陆北交所:... 拥有已授权专利113项,构建起覆盖主流车企的供应体系。 2026年7月8日,乔路铭科技股份有限公司(...
燧原科技科创板IPO注册获证监... 证监会批复同意燧原科技科创板IPO注册。 7月9日晚间,证监会发布《关于同意上海燧原科技股份有限公司...
13年全职太太出任董事,营销总... 来源丨时代商业研究院 作者丨陆烁宜 编辑丨郑琳 IPO前连续3年大笔分红后欲募资补流,合理性遭遇北交...
年内“再卸一基”!广发明星基金... 红星资本局7月9日消息,近日,广发基金公告称,基金经理郑澄然“再卸一基”,不再管理广发兴诚混合(基金...
活力中国调研行 | 在上海,答... 【大河财立方 记者 夏晨翔 文 王子阳 摄影】“遂古之初,谁传道之?上下未形,何由考之?”2300年...
原创 2... 美联储新掌门凯文·沃什开完首场议息会,点阵图直接抹掉今年降息预期,9名票委还支持年内再加,美元指数当...
快餐、烘焙之后,商超巨头们又看... 文 | 红餐网 “15.8元自选快餐”“18元韩国拌饭”“青蟹98元一只现捞现蒸”,消费者推着购物...
从工业重镇到“场景招商” “铜... 中新网兰州7月9日电 (杨娜)第三十二届中国兰州投资贸易洽谈会9日在兰州启幕,素有“铜城”美誉之称的...