2016-12-06 4 views
0

Ich möchte mehrere Haustier Objekte erstellen, indem Sie es zu einer Schleife. Hier ist, was ich bis jetzt bekommen habe, ich habe Klassenhund, Klassenfische, Klassenkatzen, Klassenvögel. Klasse Hund:Erstellen Sie mehrere Objekte durch Schleife

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": 

hier weiß ich nicht, wie Objekte für jeden Hund zu schaffen, Vogel, Fisch, Katze, die ich von meinem csv.file bekommen.

Antwort

0

Sieht aus, als ob Sie auf dem richtigen Weg sind. Ich glaube, du hast vergessen, die Initialisierung von my_list einzuschließen, bevor du die Leserschleife startest. In diesem Fall werden alle Ihre Objekte in Ihrer my_list gespeichert.

Bonus-Tipp: Sie können in unpacking. aussehen wollen Dann können Sie Ihre Objekte instanziiert ohne Einzelheiten enthält jede Spalte: ``

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