深入浅析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继承问题,希望对大家有所帮助!
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下