如何从列表中创建类实例?

时间:2017-07-14 00:51:08

标签: python list class object instance

我是这个网站的新手,不熟悉编码所以请原谅我。

我一直在练习编码,并且想知道是否有人可以提供帮助。

说我有class exampleClass

而不是:

x = exampleClass()
y = exampleClass()
z = exampleClass()

我可以指定:

list = ['x','y','z']

然后创建类实例?

我已经搜索并尝试了几个代码示例但无法执行此操作。

2 个答案:

答案 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}

虽然可能,但您通常希望避免动态创建变量名称,并使用容器(例如列表) - 如果需要按索引访问值 - 或字典 - 如果需要通过特定名称访问值