深入浅析python继承问题


Posted in Python onMay 29, 2016

有如下的代码:

class p1:
def __init__(self,a,b):
print("init in p1")
self.a1=a
self.b1=b
self.f1()
def f1(self):
print("f1 in p1")
class c1(p1):
def __init__(self,a,b,c=2):
print("init in c1")
p1.__init__(self,a,b)
self.c1=c
self.f1()
def f1(self):
print("f1 in p2")
class c2(c1):
pass
c=c2(11,22)
print(c.a1)
print(c.b1)
print(c.c1)

然后代码的运行结果如下:

F:\python_code\test>python class_init.py
init in c1
init in p1
f1 in p2
f1 in p2
11
22
2

关于的代码的运行过程,我有以下的疑问,我在 c1 的 __init__ 函数中会调用到p1.__init__(),然后会每次都是运行 c1.f1() 函数,没有运行 p1.f1() 的函数,在 p1 运行的 f1(),怎么也是 c1.f1()。为什么?

原因分析:

p1.__init__(self,a,b)

这行代码中的self是c1的对象。所以传给p1里面的self也就是c1的呀。

以上内容所述通过代码给大家介绍了python继承问题,希望对大家有所帮助!

Python 相关文章推荐
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 Python
Django验证码的生成与使用示例
May 20 Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 Python
django 中的聚合函数,分组函数,F 查询,Q查询
Jul 25 Python
Django如何将URL映射到视图
Jul 29 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
使用pandas的box_plot去除异常值
Dec 10 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python list和str互转的实现示例
Nov 16 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 #Python
python自动翻译实现方法
May 28 #Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 #Python
Python程序中的观察者模式结构编写示例
May 27 #Python
Windows下python2.7.8安装图文教程
May 26 #Python
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 #Python
剖析Python的Twisted框架的核心特性
May 25 #Python
You might like
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php动态绑定变量的用法
2015/06/16 PHP
PDO::exec讲解
2019/01/28 PHP
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
酒店管理自荐信
2013/10/23 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
暑期培训心得体会
2014/09/02 职场文书
信访维稳工作汇报
2014/10/27 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android
Java异常体系非正常停止和分类
2022/06/14 Java/Android