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中以进行引用.所以我的问题是:
到目前为止,我创建课程的尝试都没有成功,因为课程并非完全是个人的.
x = deepcopy(cls)Run Code Online (Sandbox Code Playgroud)CopyOfCls = type('CopyOfCls', cls.__bases__, dict(cls.__dict__))Run Code Online (Sandbox Code Playgroud)
编辑:Answerers透露,我实际上正在寻找创建多个类实例.
您不需要复制类来创建该类的多个实例.
items = []
for i in range(10):
items.append(myClass())
Run Code Online (Sandbox Code Playgroud)
items现在包含十个单独的myClass实例.您可以使用索引单独访问它们,例如.items[3].