我在使用ttk.Button时有一些奇怪的行为。我在函数'click_me()'之外定义了一个变量n。此代码运行正常,并显示“ Count:1”。但是,当我取消注释“ n = n + 1”行时,出现以下错误:
File "***.py", line **, in click_me
action.configure(text="Count: {}".format(n))
UnboundLocalError: local variable 'n' referenced before assignment
“ n = n + 1”被注释时,“ click_me()”如何访问n,而未注释时却显示错误?为什么action.configure行中的错误在注释另一行时可以正常工作?
顺便说一句,“ n = 1”的位置似乎并不影响结果。
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
n=1
def click_me():
action.configure(text="Count: {}".format(n))
#n=n+1
action = ttk.Button(win, text="Click!", command=click_me)
action.grid(column=0, row=0)
n=1
win.mainloop()