2017-02-20 6 views
0

私はクラスを複数回使用するプログラムを作りたいと思います。私は、a11 = animal()a12 = animal()などの変数をたくさん作成する必要はありません。また、ループ内でexec()によって作成されたとしても、非常に多くの変数を管理する必要はありません。クラスを辞書キーに割り当てたり、場所をリストしたり、別の簡単な方法で管理したりする方法はありますか?ありがとう!複数の変数にクラスを割り当てるのを避ける

+1

私はあなたがクラスの*インスタンス*を意味すると信じています。これらのインスタンスは、必要なデータ構造に置くことができます。 –

+0

クラスインスタンスは 'animals'という名前の' list'のようなコンテナに格納できます。そうすれば、彼らの "名前"はインデックスになります。動物[0]と動物[42]。変数を動的に作成するために 'exec'を使うべきではありません。 [_動的に変数を作成したくない_](http://stupidpythonideas.blogspot.com/2013/05/why-you-dont-want-to-dynamically-create.html)と[_データを保持するあなたの変数names_](http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html)。 – martineau

+0

ありがとうございました!私は通常、最初に作業するコーディング環境で試してみたはずです。私は迅速な返答を感謝します。 :) – Phonzi

答えて

0

データ構造を持つクラスのインスタンスを作成できる必要があります。たとえば:今my_listという変数は、それはあなたが望むものである場合にも、辞書にこれらを割り当てるあなたのAnimalクラス

の9つのインスタンスが含まれている必要があり

my_list = [] 
for i in range(10): 
    #Animal() is a class you've defined elsewhere 
    my_list.append(Animal()) 

関連する問題