为什么这里不需要__init__

img

img


为什么这里不需要__init__,什么情况2下需要用init什么时候不要用

前两种情况必须写,最后一种可不写

  • 类有自己的变量需要初始化的时候就要写
  • 父类有变量需要初始化,为了初始化父类的变量,它也必须重写来为父类传参
  • 父类没有并且它自己也没有,就可以省略完全继承父类的

有帮助请点个采纳~

恰恰相反,如果子类没有重写__init__方法,将完全继承父类的__init__方法,你可以自己写一个类测试一下。

每一个类都是有__init__方法的,匿名的,不需要写,这个初始化方法在构建对象的时候就会执行。
如果父类重写了这个__init__方法后,在方法里做了一些事情,假设需要参数进行操作,在子类继承的时候,先是会执行父类的初始化方法。这时候因为父类需要参数,所以需要在子类中也重写__init__方法进行调用父类的__init__方法,并传递相应的参数