深入浅析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函数参数*args**kwargs用法实例
Dec 04 Python
python如何在终端里面显示一张图片
Aug 17 Python
Django Highcharts制作图表
Aug 27 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
Python笔记之facade模式
Nov 20 Python
python中id函数运行方式
Jul 03 Python
class类在python中获取金融数据的实例方法
Dec 10 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
Python LMDB库的使用示例
Feb 14 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
收音机术语解释
2021/03/01 无线电
做一个有下拉功能的留言版
2006/10/09 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
javascript实现表格排序 编辑 拖拽 缩放
2015/01/02 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
Python+PIL实现支付宝AR红包
2018/02/09 Python
python抓取文件夹的所有文件
2018/02/27 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
Python笔记之观察者模式
2019/11/20 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
高考自主招生自荐信
2013/10/20 职场文书
幼儿园门卫制度
2014/01/29 职场文书
计算机学生求职信范文
2014/01/30 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
感谢师恩主题班会
2015/08/17 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书