Есть ли способ последовательно создавать объекты в python? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь сделать игру с врагами, которые появляются постоянно. Я делал что-то подобное в прошлом, но использовал команду exec("enemy%s = Enemy()" % x) для последовательного создания экземпляров класса. Мне было интересно, есть ли более эффективные способы сделать это. Пожалуйста, свяжите меня с дубликатом, если они есть, поскольку я не смог их найти.

Я пробовал

virus = {virus0 : Virus()}
for x in range(1, 11):
    virus.append((virus : Virus()) % x)

, но это вернуло неверный синтаксис. Я не знаю, как правильно сделать это с помощью словаря или списка.

1 Ответ

0 голосов
/ 19 марта 2020

Вам не нужно x вообще; индексы списка являются метками.

viruses = [Virus() for _ in range(10)]

или в более длинном виде

viruses = []
for _ in range(10):
    viruses.append(Virus())

Теперь вместо virus0, virus1 и т. д. c , вы используете viruses[0], viruses[1], et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...