深入浅析python继承问题
作者:mrr 时间:2023-05-20 15:22:26
有如下的代码:
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,继承
0
投稿
猜你喜欢
Python使用sftp实现上传和下载功能(实例代码)
2023-12-26 09:35:41
Python机器学习之基础概述
2021-07-18 19:07:59
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2023-11-17 02:54:39
Golang TCP粘包拆包问题的解决方法
2023-07-18 11:04:43
SQL Server中单引号的两种处理技巧
2008-05-23 13:30:00
Visual Studio 2017使用EF选择MySQL数据源
2024-01-25 04:13:23
oblog4.6转换ucenterHome1.5过程全记录,提供老用户无法登陆的补丁
2009-10-29 12:04:00
python实现关闭第三方窗口的方法
2023-11-01 17:25:09
tensorflow图像裁剪进行数据增强操作
2023-06-23 14:33:20
在Python中使用mechanize模块模拟浏览器功能
2022-04-12 10:13:56
Python爬虫之pandas基本安装与使用方法示例
2023-11-26 21:49:35
Mysql性能优化案例 - 覆盖索引分享
2024-01-27 15:16:59
Python 使用requests模块发送GET和POST请求的实现代码
2023-07-19 23:19:27
跟老齐学Python之dict()的操作方法
2022-05-12 16:54:43
用CSS实现柱状图(Bar Graph)的方法(三)——复杂柱状图的实现
2008-05-26 13:36:00
python中from module import * 的一个坑
2021-10-29 08:23:51
javascript自定义加载loading效果
2024-04-27 15:23:14
php修改NetBeans默认字体的大小
2024-06-05 09:48:07
详解PHP中数组函数的知识点
2023-05-29 10:59:11
pytorch+sklearn实现数据加载的流程
2022-05-15 14:44:27