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


Posted in Python onDecember 15, 2016

前言

使用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 相关文章推荐
python创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
详解Python中for循环的使用方法
May 14 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
python实现八大排序算法(1)
Sep 14 Python
python 接口返回的json字符串实例
Mar 27 Python
Python Django基础二之URL路由系统
Jul 18 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 #Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 #Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 #Python
python中快速进行多个字符替换的方法小结
Dec 15 #Python
Python制作简易注册登录系统
Dec 15 #Python
用yum安装MySQLdb模块的步骤方法
Dec 15 #Python
Python3.6正式版新特性预览
Dec 15 #Python
You might like
一个PHP并发访问实例代码
2012/09/06 PHP
PHP编码转换
2012/11/05 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
JS重要知识点小结
2011/11/06 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
微信小程序签到功能
2018/10/31 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python数据可视化之画图
2019/01/15 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
使用python绘制二维图形示例
2019/11/22 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
优秀应届生推荐信
2013/11/09 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
幼儿老师求职信
2014/06/30 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL