深入浅析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中使用SAX解析xml实例
Nov 21 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python多进程与服务器并发原理及用法实例分析
Aug 21 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
Mar 22 Python
django的ORM操作 删除和编辑实现详解
Jul 24 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
Python requests用法和django后台处理详解
Mar 19 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输出表格的实现代码(修正版)
2010/12/29 PHP
php基本函数汇总
2015/07/09 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
2016/12/23 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
js实现简易ATM功能
2020/10/27 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
python 简单的多线程链接实现代码
2016/08/28 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python爬虫文件下载图文教程
2018/12/23 Python
解决Django no such table: django_session的问题
2020/04/07 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
初中生操行评语大全
2014/04/24 职场文书
鼓舞士气的口号
2014/06/16 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
七夕情人节问候语
2015/11/11 职场文书
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
PyTorch device与cuda.device用法
2022/04/03 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript