2016-12-06 6 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に保存されます。

ボーナスヒント:あなたは、あなたが各列をspecifiyingせずにオブジェクトをインスタンス化することができるでしょうunpacking.に見てみたいことがあります。 ``

my_list = list() 
for row in reader: 
    if row[0]=="Dog": 
     my_list.append(dog.Dog(*row)) 
    ... 
関連する問題