我有這樣幾個變量:字符串變量名蟒蛇
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來刪除變量的名稱?
我用這樣的: 'self.canvas.itemconfig(EVAL( 「self.lamp_ {0}」 格式(I)。), 填充= self.color_blink)' 和它工作正常!非常感謝!! – greg 2012-02-09 15:13:25
@greg:使用索引變量名稱是一個非常糟糕的主意。使用'eval()'而不是'getattr()'來訪問它們更糟糕。通過不忽視我們的建議來幫助自己! :) – 2012-02-09 15:55:51