我很困惑为什么我会收到这个错误,因为我开始使用“从Python开始,第3版”这本书表明我应该能够做到这一点。我正在做同样的事情,这本书只是命名我的类不同。
这是我的班级定义:
#parent class
class Animal:
def __init__(self,animalType):
self.setAnimalType(animalType)
self.setAge(0)
self.setColor('')
#mutator functions
def setAnimalType(self,animalType):
self.__animalType = animalType
def setAge(self,age):
self.__age = age
def setColor(self,color):
self.__color = color
#accessor functions
def getAnimalType(self):
return self.__animalType
def getAge(self):
return self.__age
def getColor(self):
return self.__color
#stub function
def makeNoise(self):
print("Argh")
#state function
def __str__(self):
return 'I am a {} {} being of age {}.\n'.format(self.getColor(),self.getAnimalType(),self.getAge())
#child classes
class Mouse(Animal):
def __intit__(self):
Animal.__init__(self,'Mouse')
def makeNoise(self):
print("squeak")
当我执行以下操作时:
#import statements
import animals
# functions
def main():
mouse1 = animals.Mouse()
mouse1.setAge(5)
mouse1.setColor('white')
print(mouse1,mouse1.makeNoise())
# Main Program
main()
我收到错误:
TypeError: __init__() missing 1 required positional argument: 'animalType'