Python super初始化理解过程
# -*- coding:utf-8 -*-<br data-filtered="filtered">
class A(object):
def __init__(self, xing, gender): # !#1
self.namea = "aaa" # !#2
self.xing = xing # !#3
self.gender = gender # !#4
self.funca() def funca(self):
print("function a : %s" % self.namea) class B(A):
def __init__(self, xing, age): # !#5
super(B, self).__init__(xing, age) # !#6(age处应为gender)
self.nameb = "bbb" # !#7
##self.namea="ccc" # !#8
##self.xing = xing.upper() # !#9
self.age = age # !#10 def funcb(self):
print("function b : %s" % self.nameb) def funca(self):
print("(override)function a : %s" % self.namea) b = B("lin", 22) # !#11
print(b.nameb)
print(b.namea)
print(b.xing) # !#12
print(b.age)
print(b.gender) # !#13
b.funcb()
b.funca()
上面程序的输出结果为:
(override)function a : aaa
bbb
aaa
lin
22
22
function b : bbb
(override)function a : aaa
以上程序说明如果父类初始化方法中有调用了父类中定义的方法,恰好这个方法又被子类所覆盖,则super(B, self).__init__(xing, age)调用的父类初始化方法中调用的方法将是被覆盖后的方法。
Python super初始化理解过程的更多相关文章
- 【Python】使用super初始化超类
		
初始化超类的传统方式,在子类的实例中调用超类的__init__()方法. 但是传统的方法有两个问题,比如: 问题1: class MyBaseClass: def __init__(self, val ...
 - Java 类的实例变量初始化的过程    静态块、非静态块、构造函数的加载顺序
		
先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...
 - Java初始化理解与总结  转载
		
Java的初始化可以分为两个部分: (a)类的初始化 (b)对象的创建 一.类的初始化 1.1 概念介绍: 一个类(class)要被使用必须经过装载,连接,初始化这样的过程. 在装载阶段,类装载器会把 ...
 - Dubbo中消费者初始化的过程解析
		
首先还是Spring碰到dubbo的标签之后,会使用parseCustomElement解析dubbo标签,使用的解析器是dubbo的DubboBeanDefinitionParser,解析完成之后返 ...
 - python super()函数详解
		
引言: 在类的多继承使用场景中,重写父类的方法时,可能会考虑到需要重新调用父类的方法,所以super()函数就是比较使用也很必要的解决方法: 文章来源: http://www.cnblogs.com/ ...
 - Python ---- super()使用
		
Python ---- super() 我们经常在类的继承当中使用super(), 来调用父类中的方法.例如下面: 1 2 3 4 5 6 7 8 9 10 11 12 13 class A: ...
 - python super()(转载)
		
一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...
 - Python程序的执行过程原理(解释型语言和编译型语言)
		
Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的. ...
 - Python程序的执行过程 解释型语言和编译型语言
		
转载地址:http://blog.csdn.net/lujiandong1/article/details/50067655 1. Python是一门解释型语言? 我初学Python时,听到的关于Py ...
 
随机推荐
- Centos6.10源码部署zabbix-3.2.6
			
环境:Centos6.10 已有lnmp环境 mysql5.7 php7.2 创建zabbix数据库 mysql> create database zabbix character se ...
 - 末学者笔记--Linux网络模式及网卡配置
			
一.linux网络的模式 三种模式:桥接,Nat和仅主机模式 一.桥接模式:配置桥接模式的虚拟机作为独立计算机存在 特点: 1. 虚拟机可以上外网2. 可以和局域网内任意一台电脑通信3. 可以和宿主机 ...
 - 剑指offer数组列表
			
一.数组 面试题3 : 找出数组中重复的数字 面试题3(二):不修改数组找出重复的数字 面试题4:二维数组的查找 面试题21:调整数组顺序使奇数位于偶数前面 面试题39:数组中出现次数超过一半的数字 ...
 - HTTP 403 ,tomcat配置HTTPS,无法访问 返回状态码HTTP 403
			
为了将本机(windows系统)启动的应用以HTTPS的形式访问, 利用Keytool 生成证书之后.在tomcat的server.xml中将配置修改为如下: <Connector port=& ...
 - 大数据小白系列 —— MapReduce流程的深入说明
			
上一期我们介绍了MR的基本流程与概念,本期稍微深入了解一下这个流程,尤其是比较重要但相对较少被提及的Shuffling过程. Mapping 上期我们说过,每一个mapper进程接收并处理一块数据,这 ...
 - Centos6.5部署vsftpd+mysql认证
			
1.FTP传输原理 FTP,文件传输协议,是工作在应用层,基于TCP实现,依赖于互联网即可通讯. 1)连接模式 控制(命令)连接,用来通信,一直在线,客户端随机端口连接服务端TCP:21端口. 数据连 ...
 - Module(CP343-1)Advanced  system error SDB generation  Error in rule file or rule file not found
			
报这个故障的原因是因为安装目录下缺少三个 err文件.只要从好的目录下拷贝过来即可. C:\Program Files (x86)\SIEMENS\Step7\s7wbx\rul
 - [LeetCode] Card Flipping Game 翻卡片游戏
			
On a table are N cards, with a positive integer printed on the front and back of each card (possibly ...
 - JavaBean,POJO,VO,DTO的区别和联系
			
JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性 ...
 - jdbc连接oracle时报错 Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableC
			
错误: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; ...