为什么我的python类不工作?

时间:2017-01-28 06:39:14

标签: python python-2.7 class

如代码所示,DogPet的子类。当我创建Dog的实例时,我无法获得species的实例。顺便说一句,我正在关注this article

class Pet(object):

    def __init__(self, name, species):
        self.name = name
        self.species = species

    def getName(self):
        return self.name

    def getSpecies(self):
        return self.species

    def __str__(self):
        return "{0} is a {1}".format(self.name, self.species)


class Dog(Pet):

    def __int__(self, name, chaseCats):
        Pet.__init__(self, name, "dog")
        self.chaseCats = chaseCats

    def getChaseCats(self):
        return self.chaseCats

创建实例时:

mister_dog = Dog("Huang ~", True)
print mister_dog.getSpecies()

它返回:True而不是dog

1 个答案:

答案 0 :(得分:4)

这是一个错字。子类Dog第一个方法名为__int__,而不是__init__。因此,初始化程序未在子类中定义,并且您只是直接调用基类__init__

顺便说一句,你也可以开始使用super()方法,而不是未绑定的方法。