Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用循环来实例化对象?_Python_Python 2.7 - Fatal编程技术网

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

Python 如何使用循环来实例化对象?,python,python-2.7,Python,Python 2.7,当使用for循环在要作为对象启动的迭代中进行迭代时,如何在类中进行迭代。如何使用循环生成对象 因为self.\u i,不允许使用占位符变量。我必须手动键入对象实例吗?是否有方法通过字符串操作生成对象实例名称,然后更改字符串的数据类型 下面是一个代码示例: self._strip= [self._led1,self._led2,self._led3,self._led4,self._led5,self._led6,self._led7] for i in self._strip:

当使用for循环在要作为对象启动的迭代中进行迭代时,如何在类中进行迭代。如何使用循环生成对象

因为
self.\u i
,不允许使用占位符变量。我必须手动键入对象实例吗?是否有方法通过字符串操作生成对象实例名称,然后更改字符串的数据类型

下面是一个代码示例:

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

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

您的问题还很不清楚-但是假设您的对象确实具有“\u led1”到“\u ledn”属性,并且您希望检索每个属性,您可以执行以下操作:

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

getAttr
检索给定字符串的对象的属性-该字符串可以通过格式、连接等进行操作

您的用例是什么?为什么不使用另一种数据结构,如列表,而不是单独的变量?好的,但是我如何生成一个充满对象句柄的列表,而不是字符串?为什么有像_led1,_led2。。。首先?因为这是一节课的片段,我在课上初始化了一条LED,非常感谢朋友,是的,我认为我的问题措辞很糟糕,这反映了我对我正在做的事情理解不足。我想,我可能需要去youtube上看更多的教程。