# -*- 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初始化理解过程的更多相关文章

  1. 【Python】使用super初始化超类

    初始化超类的传统方式,在子类的实例中调用超类的__init__()方法. 但是传统的方法有两个问题,比如: 问题1: class MyBaseClass: def __init__(self, val ...

  2. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  3. Java初始化理解与总结 转载

    Java的初始化可以分为两个部分: (a)类的初始化 (b)对象的创建 一.类的初始化 1.1 概念介绍: 一个类(class)要被使用必须经过装载,连接,初始化这样的过程. 在装载阶段,类装载器会把 ...

  4. Dubbo中消费者初始化的过程解析

    首先还是Spring碰到dubbo的标签之后,会使用parseCustomElement解析dubbo标签,使用的解析器是dubbo的DubboBeanDefinitionParser,解析完成之后返 ...

  5. python super()函数详解

    引言: 在类的多继承使用场景中,重写父类的方法时,可能会考虑到需要重新调用父类的方法,所以super()函数就是比较使用也很必要的解决方法: 文章来源: http://www.cnblogs.com/ ...

  6. Python ---- super()使用

    Python ---- super() 我们经常在类的继承当中使用super(), 来调用父类中的方法.例如下面: 1 2 3 4 5 6 7 8 9 10 11 12 13 class A:     ...

  7. python super()(转载)

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

  8. Python程序的执行过程原理(解释型语言和编译型语言)

    Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的. ...

  9. Python程序的执行过程 解释型语言和编译型语言

    转载地址:http://blog.csdn.net/lujiandong1/article/details/50067655 1. Python是一门解释型语言? 我初学Python时,听到的关于Py ...

随机推荐

  1. docker 进阶

    docker 常用命令: docker  pull hub.c.163.com/library/mysql:latest  #这是从网址下载下来mysql镜像 docker run  -d -p 88 ...

  2. echarts4.0折线图让某个点闪烁

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. ABP给WebApi添加性能分析组件Miniprofiler

    在ABP的WebApi中,对其性能进行分析监测是很有必要的.而悲剧的是,MVC项目中可以使用的MiniProfiler或Glimpse等,这些都不支持WebApi项目,而且WebApi项目通常也没有界 ...

  4. 命令行神器 Click 简明笔记

    Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argpa ...

  5. STL复习之 map & vector --- disney HDU 2142

    题目链接: https://vjudge.net/problem/40913/origin 大致题意: 这是一道纯模拟题,不多说了. 思路: map模拟,vector辅助 其中用了map的函数: er ...

  6. PBRT笔记(4)——颜色和辐射度

    SPD 光谱功率分布 CoefficientSpectrum 根据给定采样数表示光谱,为RGBSpectrum.SampledSpectrum的父类. 重载大量的基础代码,比较简单不做赘述.其中为了方 ...

  7. Petrozavodsk Winter-2018. Jagiellonian U Contest

    A. XOR 求出所有数的异或和$sum$,将所有数and上$sum$,然后求线性基,则选取$sum$的所有$1$对应的基最优. 时间复杂度$O(n\log x)$. #include<cstd ...

  8. python traceback获取详细的异常信息

       运行结果 : 用try except 会报出报错信息,但是没有具体哪个地方报错,多少行,这样不利于查找报错信息 这时我们就可以使用traceback模块 运行结果:    如上图,报错信息会具体 ...

  9. python一些语法糖用法

    @修饰符 '@'符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行.也就是说@A def f(): 是非法的. 只可以在模块或类定义层内对函数 ...

  10. Resource Allocation of Yarn

    关键词:yarn 资源分配 mapreduce spark 简要指南 适合不想看太多原理细节直接上手用的人. 基本原则: container分配的内存不等于机器实际用掉的内存.NM给container ...