深入浅析python继承问题
有如下的代码:
classp1:
def__init__(self,a,b):
print("initinp1")
self.a1=a
self.b1=b
self.f1()
deff1(self):
print("f1inp1")
classc1(p1):
def__init__(self,a,b,c=2):
print("initinc1")
p1.__init__(self,a,b)
self.c1=c
self.f1()
deff1(self):
print("f1inp2")
classc2(c1):
pass
c=c2(11,22)
print(c.a1)
print(c.b1)
print(c.c1)
然后代码的运行结果如下:
F:\python_code\test>pythonclass_init.py initinc1 initinp1 f1inp2 f1inp2 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继承问题,希望对大家有所帮助!
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短