python类的属性前加上双下划线_在Python中使用双下划线防止类属性被覆盖

在使用Python编写面向对象的代码时,咱们会经常使用“继承”这种开发方式。例以下面这一段代码:python

class Info:

def __init__(self):

pass

def calc_age(self):

print('我是父类的方法')

class PeopleInfo(Info):

def __init__(self):

super().__init__()

def calc_age(self):

print(123456)

PYthon学习企鹅裙:88198-2657 领取python自动化编程资料教程

若是你使用 PeopleInfo 初始化一个对象,而后调用这个类的 calc_age 方法,咱们来看看运行效果,以下图所示:编程

377ae54c5cd9a41527a0da7d23e2c71b.png

能够看出,父类 Info 里面的 calc_age 被子类里面的 calc_age 给“覆盖”了。函数

到目前为止,应该都是你已经知道的东西。那么下一个问题,请问 PeopleInfo 里面的 __init__ 会不会覆盖 Info 里面的 __init__ ?学习

为了确认这一点,咱们来测试一下:测试

class Info:

def __init__(self):

print('我是父类的__init__'

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值