[Pycharm] 提示 Call to __init__ of super class is missed

该提示出现在继承中,当子类未显式调用父类的__init__()方法时,会在子类提示该提示.

代码并没有错误,只是提示用户不要忘记调用父类初始化方法。

class Base:
  def __init__(self):
    print('base init')

class Derived1(Base):  # 在这里的init方法上会提示
  def __init__(self):
    print('derived1 init')

class Derived2(Base):
  def __init__(self):
    super(Derived2, self).__init__()
    print('derived2 init')

print('Creating Derived1...')
d1 = Derived1()
print('Creating Derived2...')
d2 = Derived2()

若继承父类init方法,修改为如下代码则不会提示:

class Parent(object):
    def __init__(self, name):
        self.name = name
        print("create an instance of:", self.__class__.__name__)
        print("name attribute is:", self.name)
#子类继承父类        
class Child(Parent):
    def __init__(self,name):
        print("call __init__ from Child class")
        super().__init__(name)
#c = Child("init Child") 
#print()  
#将子类实例化  
c = Child("Tom")
print(c.name)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值