创建可变数量的类实例

时间:2014-07-08 16:10:36

标签: python class python-3.x copy

我的班级:

class myClass:
    pass

我希望重新创造这种效果:

x = myClass()
y = myClass()
z = myClass()
在for循环中

因为我需要循环的次数每次都会变化。

试试这个:

x = 3
for i in range(x):
    cls = myClass()

不起作用,因为在每次迭代中我都会重新创建类实例。

我的想法是,在每个循环中,我需要创建一个类的副本并将其存储在dict中以进行引用。所以我的问题是:

  1. 这是正确的方法吗?
  2. 如何创建课程副本?
  3. 到目前为止,我创建课程的尝试都没有成功,因为课程并不完全是个人。

    x = deepcopy(cls)

    CopyOfCls = type('CopyOfCls', cls.__bases__, dict(cls.__dict__))

    编辑:Answerers透露我实际上正在考虑创建多个类实例。

1 个答案:

答案 0 :(得分:6)

您不需要复制一个类来创建该类的多个实例。

items = []
for i in range(10):
    items.append(myClass())

items现在包含十个单独的myClass个实例。您可以使用索引单独访问它们,例如。 items[3]