Python子类继承父类构造函数详解
作者:laozhang 时间:2023-02-27 09:13:03
如果在子类中需要父类的构造方法就需要显式地调用父类的构造方法,或者不重写父类的构造方法。
子类不重写 __init__,实例化子类时,会自动调用父类定义的 __init__。
class Father(object):
def __init__(self, name):
self.name=name
print ( "name: %s" %( self.name) )
def getName(self):
return 'Father ' + self.name
class Son(Father):
def getName(self):
return 'Son '+self.name
if __name__=='__main__':
son=Son('runoob')
print ( son.getName() )
输出结果为:
name: runoob
Son runoob
如果重写了__init__ 时,实例化子类,就不会调用父类已经定义的 __init__,语法格式如下:
class Father(object):
def __init__(self, name):
self.name=name
print ( "name: %s" %( self.name) )
def getName(self):
return 'Father ' + self.name
class Son(Father):
def __init__(self, name):
print ( "hi" )
self.name = name
def getName(self):
return 'Son '+self.name
if __name__=='__main__':
son=Son('runoob')
print ( son.getName() )
输出结果为:
hi
Son runoob
如果重写了__init__ 时,要继承父类的构造方法,可以使用 super 关键字:
super(子类,self).__init__(参数1,参数2,....)
还有一种经典写法:
父类名称.__init__(self,参数1,参数2,...)
class Father(object):
def __init__(self, name):
self.name=name
print ( "name: %s" %( self.name))
def getName(self):
return 'Father ' + self.name
class Son(Father):
def __init__(self, name):
super(Son, self).__init__(name)
print ("hi")
self.name = name
def getName(self):
return 'Son '+self.name
if __name__=='__main__':
son=Son('runoob')
print ( son.getName() )
输出结果为:
name: runoob
hi
Son runoob
标签:Python,子类继承父类
0
投稿
猜你喜欢
python框架Django实战商城项目之工程搭建过程图文详解
2022-12-16 16:25:57
python实现定时发送邮件
2022-12-20 07:49:49
Python多进程并发与多线程并发编程实例总结
2023-06-28 02:16:15
tensorflow之并行读入数据详解
2021-09-20 14:42:30
Pytorch之保存读取模型实例
2023-04-03 02:15:11
Python偏函数Partial function使用方法实例详解
2023-02-07 09:47:02
Django连接本地mysql数据库(pycharm)的步骤
2024-01-20 05:05:39
《设计网事》前言
2009-07-15 17:19:00
在kali上安装AWVS的图文教程
2022-12-13 23:58:24
python实现修改固定模式的字符串内容操作示例
2023-05-13 21:44:04
基于javascript实现tab选项卡切换特效调试笔记
2024-06-12 13:48:02
python实现简单反弹球游戏
2021-05-06 23:25:45
详解nodejs内置模块
2024-05-03 15:54:20
SQL对冗余数据的删除重复记录只保留单条的说明
2024-01-17 07:24:11
简单了解python的break、continue、pass
2022-06-01 01:20:10
MySQL创建全文索引分享
2024-01-21 10:16:06
js调用设备摄像头的方法
2024-04-17 09:46:46
基于ASPJPEG 制作了一个梦寐已久的批量水印工具步骤
2011-02-28 10:39:00
OpenCV图像处理GUI功能详解
2021-01-26 15:55:34
巧用weui.topTips验证数据的实例
2023-08-12 03:00:51