Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的代码总是得到一个“quot;名称';繁殖';“未定义”;错误_Python_Python 2.7_Class - Fatal编程技术网

Python 我的代码总是得到一个“quot;名称';繁殖';“未定义”;错误

Python 我的代码总是得到一个“quot;名称';繁殖';“未定义”;错误,python,python-2.7,class,Python,Python 2.7,Class,我的错误是: NameError: name 'breed' is not defined 但是我认为它是在\uuuu init\uuu函数中定义的?有什么建议吗?这是一个考试学习指南中的代码,我试图自己将其输入到Python2.7中以查看输出 class Dog(object): def __init__(self, breed, owner = "pound"): self.owner = owner self.breed = breed

我的错误是:

NameError: name 'breed' is not defined
但是我认为它是在
\uuuu init\uuu
函数中定义的?有什么建议吗?这是一个考试学习指南中的代码,我试图自己将其输入到Python2.7中以查看输出

class Dog(object):
    def __init__(self, breed, owner = "pound"):
        self.owner = owner
        self.breed = breed

    @property
    def owner(self):
        return self._owner

    @owner.setter
    def owner(self, value):
        self._owner = value

    @breed.setter
    def breed(self, value):
        self._breed = value

    def __str__(self):
        return "Breed = {}, \tOwner = {}".format(\
                self.breed, self.owner)

d1 = Dog("Beagle")
d2 = Dog("Rottweiler", "James")
d3 = Dog("Poodle")
print "d1: {}".format(d1)
print "d2: {}".format(d2)
print "d3: {}".format(d3)

您还应该拥有该品种的
@property

class Dog(object):
    def __init__(self, breed, owner = "pound"):
        self.owner = owner
        self.breed = breed

    @property
    def owner(self):
        return self._owner

    @owner.setter
    def owner(self, value):
        self._owner = value

    @property
    def breed(self):
        return self.breed

    @breed.setter
    def breed(self, value):
        self._breed = value

    def __str__(self):
        return "Breed = {}, \tOwner = {}".format(\
                self.breed, self.owner)

d1 = Dog("Beagle")
d2 = Dog("Rottweiler", "James")
d3 = Dog("Poodle")
print "d1: {}".format(d1)
print "d2: {}".format(d2)
print "d3: {}".format(d3)

添加getter:
@property def bread(self):返回self.\u breed
您为
所有者做得很好,您只需为
breed
做同样的事情。