深入浅析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 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短