Python 2.7 将标签的值重置为函数

Python 2.7 将标签的值重置为函数,python-2.7,tkinter,label,reset,Python 2.7,Tkinter,Label,Reset,我想将标签重置为函数,开始时我已完成以下操作: Label3 = Label(Mafenetre) Label3.pack(side = TOP, pady = 5) 并调用我的函数(单击按钮时): 但我有一个错误: UnboundLocalError:赋值前引用的局部变量“Label3” 所以我试了一下: def main() : if not Label3 : Label3 = Label(Mafenetre) Label3.pack(sid

我想将标签重置为函数,开始时我已完成以下操作:

Label3 = Label(Mafenetre)
Label3.pack(side = TOP, pady = 5)
并调用我的函数(单击按钮时):

但我有一个错误: UnboundLocalError:赋值前引用的局部变量“Label3”

所以我试了一下:

def main() :   
    if not Label3 : 
        Label3 = Label(Mafenetre)
        Label3.pack(side = TOP, pady = 5)

    Label3.config(text='')
    Label3 = Label(Mafenetre, text = '654')
    Label3.pack()
但我仍然有同样的问题,我不明白为什么,因为如果变量没有定义,它应该被创建。 我做错了什么?这是好方法吗?
提前感谢。

您不需要在函数中重新创建Label实例,因为它已经存在。当您这样做时,
Label3
现在是该函数的本地函数,因此访问
config
将抛出一个错误,因为
Label3
在该函数内部还不存在。只需将main更改为以下内容:

def main() :  
    Label3.config(text='654')
然后它就会起作用

def main() :  
    Label3.config(text='654')