gre*_*reg 3 python variables eval
我有这样的变量:
self.lamp_1
self.lamp_2
self.lamp_3
self.lamp_4
Run Code Online (Sandbox Code Playgroud)
现在我想使用这个名称中的每一个循环来自动调用它们,如下所示:
for i in range(1,5):
self.canvas.itemconfig(self.lamp_/number_i_automaticly/, fill=self.color_blink)
Run Code Online (Sandbox Code Playgroud)
我尝试使用函数eval()但它不起作用.它停止运行我的程序.
eval("self.canvas.itemconfig(self.lamp_"+str(i)+",fill=self.color_blink)")
Run Code Online (Sandbox Code Playgroud)
如何使用密钥i以这种方式解析变量名称?
使用列表而不是索引变量名称:
self.lamps = [lamp_1, lamp_2, lamp_3, lamp_4]
Run Code Online (Sandbox Code Playgroud)
如果你坚持使用索引变量名(你不应该),你可以使用getattr():
for i in range(1, 5):
self.canvas.itemconfig(getattr(self, "lamp_%i" % i),
fill=self.color_blink)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |