添加 class 以作为实例列出

Adding class to list as instance

我有以下代码:

classes = [Class1(), Class2(), Class3()]
usedClasses = {}

number = random.randint(0, len(classes)-1)
usedClasses[len(usedClasses)] = classes[number]

此代码从 classes 中随机选择 class 然后将其添加到 usedClasses 但是,当我将方法应用于 [=13= 中的 class ], 任何重复的添加都被 class 编辑为相同的实例。我如何每次将 class 从 classes 添加到 usedClasses 作为实例。

您需要有一个 类 本身的列表,而不是实例,并在需要时实例化它们:

classes = [Class1, Class2, Class3] # Just the names of the classes
usedClasses = {}

number = random.randint(0, len(classes)-1)
usedClasses[len(usedClasses)] = classes[number]() # create a new instance here.