深入浅析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装饰器decorator用法实例
Nov 10 Python
Python列表生成器的循环技巧分享
Mar 06 Python
Python实时获取cmd的输出
Dec 13 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
May 28 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
什么是Python中的顺序表
Jun 02 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python3中编码获取网页的实例方法
Nov 16 Python
CocosCreator ScrollView优化系列之分帧加载
Apr 14 Python
Django一小时写出账号密码管理系统
Apr 29 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
让元素在网页中可拖动示例代码
2013/08/13 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
浅析javascript 定时器
2014/12/23 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python导入txt数据到mysql的方法
2015/04/08 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
促销活动计划书
2014/05/02 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
大学生创业计划书
2019/06/24 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
Python OpenCV形态学运算示例详解
2022/04/07 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript