首页 > 解决方案 > 有没有办法在 python 中始终如一地创建对象?

问题描述

我正在尝试与不断产生的敌人一起制作游戏。我过去做过类似的事情,但使用该exec("enemy%s = Enemy()" % x)命令始终如一地创建类的实例。我想知道是否有更有效的方法来做到这一点。如果有任何副本,请将我链接到副本,因为我找不到任何副本。

我试过了

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

但这返回了无效的语法。我不知道如何用字典或列表正确地做到这一点。

标签: pythonclassobject

解决方案


你根本不需要x;列表索引标签。

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

或更长的形式

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

现在,您使用,等代替virus0,等。virus1viruses[0]viruses[1]


推荐阅读