源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

深入浅析python继承问题

  • 时间:2021-04-17 11:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入浅析python继承问题
有如下的代码:
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()。为什么? [b]原因分析:[/b] p1.__init__(self,a,b) 这行代码中的self是c1的对象。所以传给p1里面的self也就是c1的呀。 以上内容所述通过代码给大家介绍了python继承问题,希望对大家有所帮助!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部