深入浅析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
Python入门篇之字符串
Oct 17 Python
Python中list初始化方法示例
Sep 18 Python
Python 中的Selenium异常处理实例代码
May 03 Python
Python文件读写常见用法总结
Feb 22 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
安装python及pycharm的教程图解
Oct 10 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
python函数map()和partial()的知识点总结
May 26 Python
基于python实现操作git过程代码解析
Jul 27 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 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之第八天
2006/10/09 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
安全标准化汇报材料
2014/02/03 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
2014年纪检工作总结
2014/11/12 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
Python多线程 Queue 模块常见用法
2021/07/04 Python
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android