有没有办法在python中创建一个类的多个实例而不必为每个实例输入名称?类似的东西。
for i in range(10):
i = some_class()
这可能吗?或者我只是一个巨大的菜鸟。
答案 0 :(得分:2)
是。您只需要一个列表来存储您的对象。
my_objects = []
for i in range(10):
my_objects.append(some_class())
答案 1 :(得分:2)
使用字典:
d= {}
for i in range(10):
d[i] = SomeClass()
如果您只想存储实例列表,请使用列表推导:
instances = [SomeClass() for _ in range(10)]
清单:
In [34]: class SomeClass():
pass
....:
In [35]: instances = [SomeClass() for _ in range(5)]
In [36]: instances
Out[36]: Out[41]:
[<__main__.SomeClass at 0x7f559dcea0f0>,
<__main__.SomeClass at 0x7f559dcea2e8>,
<__main__.SomeClass at 0x7f559dcea1d0>,
<__main__.SomeClass at 0x7f559dcea208>,
<__main__.SomeClass at 0x7f559dcea080>])]
一个字典,其中每个i是键,一个实例是值:
In [42]: d= {}
In [43]: for i in range(5):
....: d[i] = SomeClass()
....:
In [44]: d
Out[44]:
{0: <__main__.SomeClass at 0x7f559d7618d0>,
1: <__main__.SomeClass at 0x7f559d7617f0>,
2: <__main__.SomeClass at 0x7f559d761eb8>,
3: <__main__.SomeClass at 0x7f559d761e48>,
4: <__main__.SomeClass at 0x7f559d7619e8>}