我是这个网站的新手,不熟悉编码所以请原谅我。
我一直在练习编码,并且想知道是否有人可以提供帮助。
说我有class exampleClass
。
而不是:
x = exampleClass()
y = exampleClass()
z = exampleClass()
我可以指定:
list = ['x','y','z']
然后创建类实例?
我已经搜索并尝试了几个代码示例但无法执行此操作。
答案 0 :(得分:1)
没有简洁的方法来按名称创建变量。一种替代选项可能是使用列表解析创建具有给定数量的exampleClass
实例的列表:
[exampleClass() for _ in range(3)]
然后可以将其解压缩为变量:
x, y, z = [exampleClass() for _ in range(3)]
答案 1 :(得分:0)
您可以使用字典理解将类实例映射到特定值:
>>> class Example:
def __repr__(self):
return 'ExampleObject'
>>> {k: Example() for k in ('x', 'y', 'z')}
{'z': ExampleObject, 'y': ExampleObject, 'x': ExampleObject}
虽然可能,但您通常希望避免动态创建变量名称,并使用容器(例如列表) - 如果需要按索引访问值 - 或字典 - 如果需要通过特定名称访问值