设为首页收藏本站
查看: 68|回复: 0

[PHP] 浅析python继承问题

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34270
主题
17032
UID
1347
M币
67
贡献
17171

  • 发表于 2017-5-14 02:44:00 | 显示全部楼层 |阅读模式
    这篇文章主要介绍了深入浅析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()。为什么?
    原因分析:
    p1.__init__(self,a,b)
    这行代码中的self是c1的对象。所以传给p1里面的self也就是c1的呀。
    以上内容所述通过代码给大家介绍了python继承问题,希望对大家有所帮助!
    更多浅析python继承问题相关文章请关注PHP中文网!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表