奇怪的行为-UnboundLocalError:赋值之前引用了局部变量'n'

时间:2019-05-15 18:13:53

标签: python

我在使用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()

0 个答案:

没有答案