python中子类继承父类的__init__方法实例

 更新时间:2016年12月15日 16:03:41   作者:jihite  
这篇文章主要给大家详细介绍了python中子类如何继承父类的__init__方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定参考价值,有需要的朋友们下面来跟着小编一起学习学习吧。

前言

使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。

注意:这个名称的开始和结尾都是双下划线。

父类A

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name

子类不重写__init__ , 实例化子类时,会自动调用父类定义的__init__

class B(A):
 def getName(self):
  return 'B '+self.name
 
if __name__=='__main__':
 b=B('hello')
 print b.getName()

执行

$python lei2.py 
name: hello
B hello

但重写了__init__时,实例化子类,就不会调用父类已经定义的__init__

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name

class B(A):
 def __init__(self, name):
  print "hi"
  self.name = name
 def getName(self):
  return 'B '+self.name

if __name__=='__main__':
 b=B('hello')
 print b.getName()

执行

$python lei2.py 
hi
B hello

为了能使用或扩展父类的行为,最好显示调用父类的__init__方法

class A(object):
 def __init__(self, name):
  self.name=name
  print "name:", self.name
 def getName(self):
  return 'A ' + self.name

class B(A):
 def __init__(self, name):
  super(B, self).__init__(name)
  print "hi"
  self.name = name
 def getName(self):
  return 'B '+self.name

if __name__=='__main__':
 b=B('hello')
 print b.getName()

执行

$python lei2.py
name: hello
hi
B hello

总结

以上就是关于python子类继承父类的__init__方法的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • Python pyecharts模块安装与入门教程

    Python pyecharts模块安装与入门教程

    Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,这篇文章主要介绍了Python pyecharts数据可视化模块安装与入门教程,需要的朋友可以参考下
    2022-09-09
  • python批量翻译excel表格中的英文

    python批量翻译excel表格中的英文

    本文主要介绍了python批量翻译excel表格中的英文,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python修改注册表终止360进程实例

    python修改注册表终止360进程实例

    这篇文章主要介绍了python修改注册表终止360进程实例,是非常实用的进程操作技巧,需要的朋友可以参考下
    2014-10-10
  • Langchain集成管理prompt功能详解

    Langchain集成管理prompt功能详解

    这篇文章主要为大家介绍了Langchain集成管理prompt功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python字符串格式化之使用format()方法

    Python字符串格式化之使用format()方法

    这篇文章主要介绍了Python字符串格式化之使用format()方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 对python调用RPC接口的实例详解

    对python调用RPC接口的实例详解

    今天小编就为大家分享一篇对python调用RPC接口的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 十个惊艳的Pythonic单行代码

    十个惊艳的Pythonic单行代码

    自从用 Python 编写第一行代码以来,我就被它的简单性、出色的可读性和流行的单行代码所吸引。在本文中,将为大家介绍和解释其中的一些单行代码,希望对大家有所帮助
    2022-12-12
  • Python下载网易云歌单歌曲的示例代码

    Python下载网易云歌单歌曲的示例代码

    这篇文章主要介绍了Python下载网易云歌单歌曲的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python基于多线程实现抓取数据存入数据库的方法

    Python基于多线程实现抓取数据存入数据库的方法

    这篇文章主要介绍了Python基于多线程实现抓取数据存入数据库的方法,结合实例形式分析了Python使用数据库类与多线程类进行数据抓取与写入数据库操作的具体使用技巧,需要的朋友可以参考下
    2018-06-06
  • python 用lambda函数替换for循环的方法

    python 用lambda函数替换for循环的方法

    今天小编就为大家分享一篇python 用lambda函数替换for循环的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论