深入浅析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中非常实用的一些功能和函数分享
Feb 14 Python
Djang中静态文件配置方法
Jul 30 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
使用Python读取大文件的方法
Feb 11 Python
python画一个玫瑰和一个爱心
Aug 18 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
django基础学习之send_mail功能
Aug 07 Python
Python字典添加,删除,查询等相关操作方法详解
Feb 07 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
pip安装tensorflow的坑的解决
Apr 19 Python
Python使用20行代码实现微信聊天机器人
Jun 05 Python
Django生成数据库及添加用户报错解决方案
Oct 09 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
django-filter和普通查询的例子
2019/08/12 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
事业单位个人应聘自荐信
2013/09/21 职场文书
实习生个人找工作的自我评价
2013/10/30 职场文书
仓库组长岗位职责
2014/01/29 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
大学三年计划书范文
2014/04/30 职场文书
中央空调节能方案
2014/06/15 职场文书
怎样写离婚协议书
2014/09/10 职场文书
思想品德评语大全
2014/12/31 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS
详解非极大值抑制算法之Python实现
2021/06/28 Python
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers
Android Studio 计算器开发
2022/05/20 Java/Android
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers