2017-02-20 11 views
0

Я хотел бы создать программу, в которой у меня есть несколько раз я использую класс. Я не хочу создавать тонны переменных, например, через a11 = animal() a12 = animal(). Я также предпочел бы не иметь так много переменных для управления, даже если они созданы exec() в цикле. Есть ли способ назначить классы для словарного ключа, списка мест или использовать другой простой способ управления ими. Благодаря!Избегание присвоения классов нескольким переменным

+1

Я считаю, вы имеете в виду * экземпляры * класса. Вы можете поместить эти экземпляры в любую структуру данных, которую хотите. –

+0

Вы можете хранить экземпляры классов в контейнере, такие как 'list' под именем' animals'. Таким образом, их «имена» станут индексами: например. «животные [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 = [] 
for i in range(10): 
    #Animal() is a class you've defined elsewhere 
    my_list.append(Animal()) 

Теперь переменная my_list должна содержать 9 экземпляров вашего класса Animal

Вы также назначить их в словарь, если это то, что вы хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^