2016-10-25 26 views
-1

誰かが助けてくれることを願っています。私は主にJavaで動作し、Pythonで行う必要がある割り当てを持っており、私はそれについては何も知らない。引数とメソッド呼び出しのリスト

私は読んでいるCSVファイルを持っており、各アイテムのリストまたはリストを作成することができました。各行は、thingID、要求時間、要求時間、満たすのに必要な時間を表します。これらを優先順位のキューに入れ、実行して結果を出力する必要があります。機能がどのように機能するのかわからないので、私は以下に示されているものよりも遠くには達していません。全体の自己と__init__ものは、この言語が動作するために必要な他のすべてと一緒に、混乱しています。

['Thing1', '0', '1', '4'] 
['Thing2', '1', '1', '3'] 

私は別のThings.pyを持っている私が持っている(単一の.pyで複数のクラスを持つことになっていない午前):

def main(): 
    with open('things.csv', 'r') as file: 
     reader = csv.reader(file) 
     index = 0 
     for row in reader: 
      print(row) 

main() 

これは私にそうような配列のリストを与えます

class Things(object): 
    def __init___(self, row, thingInfo): 
     self.row = row 
     self.thingInfo = thingInfo 

私は__init__、下記の別defを作成してみましたが、私は何もすることはできません。 私はリストオブジェクトのさまざまな部分を分離しようとしていますので、ID、要求時間などのさまざまな部分を操作できますが、これを行う方法はわかりません。私はさまざまなことを試しましたが、タイプエラーの属性エラーを取得します。私は完全な損失にあります。どんな助けでも大歓迎です。私は完全に壁に当たったので、正しい方向にいくつかのステップが必要です。あなたが明示的にようにそれらのインデックスを作成することにより、Things.__init__()に渡されたリストオブジェクトの異なる部分を分離することができ

class Things(object): 
    def doSomething(self): 
     thing_id, time_of_request, time_requested, time_needed_to_fill = self.row 
     # do whatever u want with the above variables 
+0

Javaのメソッドはdiffereを操作しませんJavaよりnt。 initメソッドは、Javaクラスのコンストラクタと大きく異なる動作をしません。 CSVの各行で何をしようとしているのかはあまり明確ではありません –

+0

Pythonはスクリプトごとに複数のクラスを持っているかどうか気にしません...あなたの質問はThingsクラスをインポートする方法ですか? –

+0

Pythonについて知らない人は、コースやチュートリアルで学習する必要があります。 SOはチュートリアルサービスではありません。 – TigerhawkT3

答えて

0

リストのアンパックはどのようなあなたの必要が生じた場合:このテンプレートは助け

+0

ありがとうございます。これは非常に便利でした。 – TheDubiousDubber

0

・ホープこれは(Javaと同じ):

class Things(object): 
    def __init___(self, row, thingInfo): 
     self.row = row 
     self.id = thingInfo[0] 
     self.time_requested = thingInfo[1] 
     self.another_thing = thingInfo[2] 
     # etc ... 
0

class Things(object): 

    def __init___(self, row, thingInfo): 
     self.row = row 
     self.thingInfo = thingInfo 

    def doSomething(self, arg1, arg2): # beware the `self` 
     for x in self.row: 
      # do something with x, like: 
      print(x) 

# here is where you use Things 
thing = Things([1, 2, 3], 'info') 
thing.doSomething(1, 2) 
関連する問題