如何正确调用类

时间:2015-04-26 23:34:32

标签: python class python-3.x attributes

我应该调用2个不同的类然后运行程序,以便菜单出现并且用户选择一个选项。我已经运行了大部分程序,但无法检查是否有任何工作,因为我不断收到animal_typename未定义的错误,并且无法找出原因。我附上了每个程序的部分内容。

主档案:

import Animal
import Zoo

def main():
    #set user choice 
    animal = Animal.Animal()

Zoo.py:

import Animal

class Zoo:

    #initialize attribute
    def __init__(Animal):
        Animal.__animals = []

    def add_animal(Animal, animals):
        Animal.__animals.append(animal)

    def show_animals(Animal):
        size = len(animals)
        if size == 0:
            print("There are no animals in your zoo!")
        else:
            return __animals

Animal.py:

import random

class Animal:

    #initialize attributes
    def __init__(self,animal_type, name, mood = None):
        self.__animal_type = animal_type
        self.__name = name
        if mood:
            self.__mood = mood
        else:
            self.check_mood()

    # set methods
    def set_animal_type(self, animal_type):
        self.__animal_type = animal_type

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

    def set_mood(self, mood):
        self.__mood = mood

1 个答案:

答案 0 :(得分:0)

main函数中,您没有将任何必需的变量传递给Animal。 (animal_typeanimal

您需要定义它们或直接与它们通话。

animal = Animal.Animal('Goat', 'Billy')

atype = 'Goat'
aname = 'Billy'
animal = Animal.Animal(atype, aname)