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检查指定文件是否存在的方法
Jul 06 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
python用win32gui遍历窗口并设置窗口位置的方法
Jul 26 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
Aug 26 Python
python超时重新请求解决方案
Oct 21 Python
基于python plotly交互式图表大全
Dec 07 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
Feb 26 Python
Python内存映射文件读写方式
Apr 24 Python
python基础之while循环语句的使用
Apr 20 Python
如何基于python实现单目三维重建详解
Jun 25 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
JS Array对象入门分析
2008/10/30 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
js 走马灯简单实例
2013/11/21 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
vue实现计步器功能
2019/11/01 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python OS模块实例详解
2019/04/15 Python
python中time库的实例使用方法
2019/10/31 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
幼师自我鉴定
2014/02/01 职场文书
文艺晚会主持词
2014/03/24 职场文书
股东协议书
2014/04/14 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
个人党性分析材料
2014/12/19 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
社区文明倡议书
2015/04/28 职场文书
赢在执行观后感
2015/06/16 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript