如何使用循环来实例化对象?

时间:2015-02-25 23:48:21

标签: python python-2.7

当使用for循环迭代迭代时,你想要作为对象启动,你如何在一个类中这样做。你如何使用循环来生成对象?

因为self._i,不允许使用占位符变量。我必须手动输入对象实例吗?有没有办法用字符串操作生成对象实例名称,然后更改字符串的数据类型?

这是一个代码示例:

self._strip=    [self._led1,self._led2,self._led3,self._led4,self._led5,self._led6,self._led7]
    for i in self._strip:

看看我如何手动输入列表中的元素,它们不是字符串对象。我如何生成一个完整的对象句柄或变量声明列表。

1 个答案:

答案 0 :(得分:0)

你的问题远非明确 - 但假设你的对象确实有“_led1”到“_ledn”属性,并且你想要检索它们中的每一个,你可以这样做:

for i in range(1, n):
    led = getattr(self, "_led{}".format(i))
    . . . 

gettattr检索给定字符串的对象的属性 - 并且可以使用格式,串联等操作字符串...