对于循环,不能分配函数调用 - 尝试在for循环中创建变量

时间:2012-12-11 02:31:55

标签: python loops for-loop assign

所以我试图重新创建这个:

    self.button1 = tkinter.Button(self.user_frame, image = self.image1, state = 'disabled', command = self.press1)
    self.button1.pack(side = 'left')
    self.buttonList.append(self.button1)

    self.button2 = tkinter.Button(self.user_frame, image = self.image2, state = 'disabled', command = self.press2)
    self.button2.pack(side = 'left')
    self.buttonList.append(self.button2)

    self.button3 = tkinter.Button(self.user_frame, image = self.image3, state = 'disabled', command = self.press3)
    self.button3.pack(side = 'left')
    self.buttonList.append(self.button3)

等......直到self.button10。

有了这个:

for x in range [1, 11]:
        self.button(x)=tkinter.Button(self.user_frame, image=self.image(x), state = 'disabled', command = self.press(x))
        self.button(x).pack(side='left')
        self.buttonList.append(self.button(x))

我得到syntaxerror:无法分配给函数调用。我知道它与我如何命名按钮有关,但我无法弄明白。有什么提示吗?

1 个答案:

答案 0 :(得分:0)

您遇到了大量语法错误。它不是range [1, 11],而是range(1, 11)。 您无法分配self.button(x) - 尝试使用参数self.button调用函数x

为什么不使用按钮列表?这会更简单。

无论如何,请使用self.__setattr__("button" + str(x), <the new button>)

之类的内容