创建可变数量的类实例

Pho*_*nix 1 python copy class python-3.x

我的课:

class myClass:
    pass
Run Code Online (Sandbox Code Playgroud)

我想重新创建这个效果:

x = myClass()
y = myClass()
z = myClass()
Run Code Online (Sandbox Code Playgroud)

在for循环中,因为我需要循环的次数每次都会变化.

试试这个:

x = 3
for i in range(x):
    cls = myClass()
Run Code Online (Sandbox Code Playgroud)

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

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

  1. 这是正确的方法吗?
  2. 如何创建课程副本?

到目前为止,我创建课程的尝试都没有成功,因为课程并非完全是个人的.

x = deepcopy(cls)
Run Code Online (Sandbox Code Playgroud)

CopyOfCls = type('CopyOfCls', cls.__bases__, dict(cls.__dict__))
Run Code Online (Sandbox Code Playgroud)

编辑:Answerers透露,我实际上正在寻找创建多个类实例.

Kev*_*vin 6

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

items = []
for i in range(10):
    items.append(myClass())
Run Code Online (Sandbox Code Playgroud)

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