Python 子类参数比父类多,初始化时,重写__init__()时需要先调用父类的__init__

定义一个子类后,子类会自动拥有父类的一切属性和方法

我们通常会在在子类里面添加一些属性和方法,或者修改(重写)一些属性和方法。

如果子类不重写 __init__,实例化子类时,会自动调用父类定义的 __init__。

 

 

子类需要重写__init__的一种常见场景就是,子类需要传入更多的参数。()

这时候重写__init__的方式有三种。

(1)把父类的__init__代码拷贝一份到父类,+ 对新增参数进初始化(笨方法、不灵活)

(2)显式调用父类的__init__, + 对新增参数进初始化

class Son(Father):

   def __init__(self,arr1,arr2,arr3):
        # 先调用父类的初始化方法
        Father.__init__(self,arr1,arr2)
        self.arr3= arr3# 增加的参数

(3)super() + 对新增参数进初始化

super(子类,self).__init__(参数1,参数2,....)

 

参考:

https://www.runoob.com/w3cnote/python-extends-init.html Python 子类继承父类构造函数说明

http://www.python3.vip/tut/py/basic/18/#%E7%BB%A7%E6%89%BF%E5%85%B3%E7%B3%BB  自定义类-继承关系

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值