该提示出现在继承中,当子类未显式调用父类的__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)