substring变量名python
发布时间:2020-12-20 12:27:52 所属栏目:Python 来源:网络整理
导读:我有这样的变量: self.lamp_1self.lamp_2self.lamp_3self.lamp_4 现在我想使用这个名称中的每一个循环来自动调用它们,如下所示: for i in range(1,5): self.canvas.itemconfig(self.lamp_/number_i_automaticly/,fill=self.color_blink) 我尝试使用函数eva
我有这样的变量:
self.lamp_1 self.lamp_2 self.lamp_3 self.lamp_4 现在我想使用这个名称中的每一个循环来自动调用它们,如下所示: for i in range(1,5): self.canvas.itemconfig(self.lamp_/number_i_automaticly/,fill=self.color_blink) 我尝试使用函数eval()但它不起作用.它停止运行我的程序. eval("self.canvas.itemconfig(self.lamp_"+str(i)+",fill=self.color_blink)") 如何使用密钥i以这种方式解析变量名称? 解决方法
您可以使用
getattr :
for i in range(1,5): self.canvas.itemconfig(getattr(self,'lamp_%s' % i),fill=self.color_blink) 但你真的不应该像这样命名你的变量.将它们放在一个列表中并迭代: self.lamps = [self.lamp_1,self.lamp_2,self.lamp_3,self.lamp_4] for lamp in self.lamps: self.canvas.itemconfig(lamp,fill=self.color_blink) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |