掌握python中子类如何继承父类的__init__方法

  • 时间:
  • 1009人关注

这篇文章主要给大家详细介绍了python中子类如何继承父类的__init__方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定参考价值,有需要的朋友们下面来跟着小编一起学习学习,另外这篇文章主要知识点是关于python、子类继承父类、__init__、Python的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

前言

使用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__方法的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


上一篇:Django中利用filter与simple_tag为前端自定义函数的方法详解

下一篇:总结python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法

相关内容

  • Python如何限制输出日志的大小

    这篇文章主要介绍了Python 限制输出日志的大小方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    05-06Python限制日志大小

    阅读更多
  • python实现可视化的MD5、sha256哈希加密小工具

    这篇文章主要介绍了详解python实现可视化的MD5、sha256哈希加密小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    04-07python MD5、sha256哈希加密

    阅读更多
  • Python gevent协程切换实现方法

    这篇文章主要介绍了Python gevent协程切换实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    04-07Python gevent协程切换

    阅读更多
  • python/golang实现循环链表的代码

    这篇文章主要介绍了python/golang如何实现循环链表,帮助大家更好的理解和学习循环链表的实现方法,感兴趣的朋友可以了解下

    04-07python/golang 循环链表

    阅读更多
  • 2020版Python学习路线图(附学习资料)

    这篇文章主要介绍了Python学习路线图(2020最新版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    04-07Python学习路线图

    阅读更多
  • 零基础轻松学Python

    零基础轻松学Python

    Python鼻祖GuidovanRossum力荐的Python新手入门书。这书以浅显易懂的語言、好玩儿趣味的实例让用户轻松、由浅入深地重零开始把握Python3程序编写。这书內容都是创作者领着的Python实战演练圈里数

    大小:120.16 MBPython3基础

    点击下载
  • Python 3.5从零开始学

    Python 3.5从零开始学

    《Python 3.5从零开始学》 专门针对Python新手量身定做,涵盖了Python 3 实际开发的重要知识点,内容包括:Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、多线程、正

    大小:41.5 MBPython

    点击下载
  • Python基础教程(第3版)

    Python基础教程(第3版)

    本书是一本Python3.5编程从入门到实践书籍,Python入门佳作,包括Python程序设计的方方面面,既能为初学者夯实基础,又能帮助程序员提升技能

    大小:10.1 MBpython

    点击下载
  • Python可以这样学

    Python可以这样学

    《Python可以这样学》对Python内部工作原理进行了一定深度的剖析,案例代码使用Python 3.5.1实现和Python 3.6.0,适当介绍了Python代码优化、系统编程和安全编程的有关知识,满足不同层次读者的需要,适合作为Python程序员的开发指南。

    大小:22 MBPython

    点击下载
  • Python编程:从入门到实践

    Python编程:从入门到实践

    《Python编程:从入门到实践》是Python3.5编程入门图书(从入门到实践),机器学习,数据处理,网络爬虫热门编程语言,从基本概念到完整项目开发,帮助零基础读者迅速掌握Python编程。

    大小:9.85MPython入门

    点击下载
  • Python程序设计入门到实战

    Python程序设计入门到实战

    Python言语是现在市面上*火爆的程序设计语言之一,除开功能齐全以外,也有迅速入门、随时随地可扩大、社群营销兼容等特点。这书以16章的篇数迅速详细介绍Python言语的精要,包含编程设计

    大小:423.1 MBPython

    点击下载
  • Python全栈数据工程师养成攻略(视频)

    Python全栈数据工程师养成攻略(视频)

    本书介绍了数据工程和Python语法,随后讲解如何获取和存储数据,并实现简单的静态可视化,帮助读者将学习到关于Web建站的一些基础和进阶知识

    大小:129.7 MBPython全栈

    点击下载
  • 精通Python自然语言处理(Deepti)

    精通Python自然语言处理(Deepti)

    这是一本学习自然语言处理的一本综合学习指南,介绍如何使用Python执行各种自然语言处理(NLP)任务,帮助读者掌握利用Python设计和构建基于NLP的应用实践。适合熟悉Python语言并对自然语言处

    大小:16 MBPython

    点击下载
  • Python入门经典

    Python入门经典

    大小:48.1 MBPython入门

    点击下载

学习笔记