AttributeError:'str'对象没有属性'name'

时间:2016-12-01 10:15:12

标签: string python-2.7 object attributeerror

class System:
    def __init__(self,code,name,price):
        self.name = name
        self.price = price
        self.code = code

    def __str__(self):
        return 'Code: ' + self.code + '\tName: '  self.name + \'tPrice: ' + self.price 

    def choose_item(self):
        count = 0
        for item in self.name:
            print str(count) + '\t' item.name + '\t' + item.cost
            count += 1
        question = raw_input('Enter the code: ')
        if question == 0:
            exit()
        elif choice != self.code:
            print 'Invalid code'
        else:
            index = question -1
        name[index].self.choose_item()
        print 'Your item has been added'

我收到了这个错误,看不出错误。我想通过键入代码来选择项目,以便添加项目。不确定这是正确的方法。

AttributeError: 'str' object has no attribute 'name'

1 个答案:

答案 0 :(得分:0)

前两个错误在此函数中__str__(self) 它应该是'\tName: ' + self.name + '\tPrice: ' (您错过了+符号,并且没有在单引号中包含\ t。)

return 'Code: ' + self.code + '\tName: ' + self.name + '\tPrice: ' + self.price 

然后在choose_item(self)函数中。 (缺少+标志)

print str(count) + '\t' + item.name + '\t' + item.cost