深入浅析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使用百度翻译进行中翻英示例
Apr 14 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
python实现12306火车票查询器
Apr 20 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
Python any()函数的使用方法
Oct 28 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Python进行统计建模
Aug 10 Python
python 如何利用argparse解析命令行参数
Sep 11 Python
Python类方法总结讲解
Jul 26 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 SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
python写入中英文字符串到文件的方法
2015/05/06 Python
python修改操作系统时间的方法
2015/05/18 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
上级检查欢迎词
2014/01/18 职场文书
一年级评语大全
2014/04/23 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
实名检举信范文
2015/03/02 职场文书
教学质量月活动总结
2015/05/11 职场文书
校运会宣传稿大全
2015/07/23 职场文书
安全责任协议书范本
2016/03/23 职场文书