2016-12-06 147 views
0

我想通过使其成为一个循环来创建多个宠物对象。这是我到目前为止,我有班级狗,班级鱼,班级猫,班级鸟。 类犬:通过循环创建多个对象

def __init__(self,species,name,birthedate,breed,color): 
    self.__species = species 
    self.__name = name 
    self.__birthdate = birthedate 
    self.__breed = breed 
    self.__color = color 

def get_species(self): 
    return self.__species 

def get_name(self): 
    return self.__name 

def get_birthdate(self): 
    return self.__birthdate 

def get_breed(self): 
    return self.__breed 

def get_color(self): 
    return self.__color 

import dog 
import cat 
import fish 
import bird 
import csv 

with open('C:\pet.csv', 'r') as f: 
    reader = csv.reader(f) 
for row in reader: 
    if row[0]=="Dog": 
     my_list.append(dog.Dog(row[0],row[1],row[2],row[3],row[4])) 
    if row[0]=="Cat": 

在这里,我不知道如何为每个狗,鸟,鱼,猫,我从我的csv.file获得创建对象。

回答

0

看起来像你在正确的轨道上。我想你在启动阅读器循环之前忘记了包含my_list的初始化。在这种情况下,所有对象都将存储在您的my_list中。

特别提示:你可能想看看unpacking.然后你就可以实例化对象,而不specifiying每一列: ``

my_list = list() 
for row in reader: 
    if row[0]=="Dog": 
     my_list.append(dog.Dog(*row)) 
    ...