class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name
def getSpecies(self):
return self.species
def __del__(self):
print ("This came from del method")
class Dog(Animal):
pass
def __init__(self, name, isBig):
Animal.__init__(self, name, "Dog")
self.isBig = isBig
我一直在玩弄理解类和子类,并遇到了以下问题。实例化时
dog = Dog("Bob", True)
并尝试从父类 Animal 类访问方法 getName() 我收到以下错误:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
dog.getName()
AttributeError: Dog instance has no attribute 'getName'
是什么阻止我直接访问父类的方法?
不要忘记缩进在 Python 中很重要!
对于类中的所有方法,您的代码应如下所示Animal
:
class Animal:
def __init__(self, name, species):
self.name = name
self.species = species
def getName(self):
return self.name
def getSpecies(self):
return self.species
def __del__(self):
print ("This came from del method")
如果您错过了缩进块,Python 会认为您已经完成了类定义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句