builtins.AttributeError:'Pet'对象没有属性'get_name'

时间:2013-11-22 03:42:19

标签: python python-3.3

我目前收到此错误:

  

builtins.AttributeError:'Pet'对象没有属性'get_name'

在程序结束时for循环之后显示代码行print(item.get_name())

这是我的班级:

class Pet:

    def __init__(self, name, type, age):
        self.__name = name
        self.__type = type
        self.__age = age

        def set_name(self, name):
            self.__name = name

        def set_type(self, type):
            self.__type = type

        def set_age(self, age):
            self.__age = age

        def get_name(self):
            return self.__name

        def get_type(self):
            return self.__type

        def get_age(self):
            return self.__age

这是我的计划:

import pet

def main():

    animals = make_list()

    print('Here is the data you entered:')
    display_list(animals)

def make_list():

    animal_list = []

    print('Enter data for 3 animals.')
    for count in range(1,4):
        print('Pet number '+str(count) + ':')
        name = input('Enter the name: ')
        type = input('Enter the type: ')
        age = input('Enter the age: ')
        print()

        animal = pet.Pet(name, type, age)

        animal_list.append(animal)

    return animal_list

def display_list(animal_list):

    for item in animal_list:
        print(item.get_name())
        print(item.get_type())
        print(item.get_age())
        print()

main()

1 个答案:

答案 0 :(得分:2)

所有Pet的方法都需要从相同的缩进级别开始。您需要取消set_nameget_age之间每一行的每一行。