Python 3.6.0 类继承

游泳
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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章