首页 > 解决方案 > 使用全局变量的函数中的 NameError

问题描述

我尝试在 python 3.6 中停止我 tkinter 的 .after 函数,但使用变量的 namspace 进行探测。当我使用此代码时,我得到 NameError: "name 'counter' is not defined":

我读了这篇优秀的文章,从那里我得到了使用两个按钮而不是一个按钮的想法。 在 Tkinter 中使用相同按钮的启动和停止功能

def count(ac,rs):
    if ac:
        global counter
        counter += 1
        label.config(text=counter)
        label.after(1000, count)
        if rs:
            counter = 0
            counter += 1
            count()

def start():
    ac = True
    rs=False
    count(ac,rs)

def stop():
    ac = False
    label.configure(text='0')
    rs = True
    count(ac,rs)

由于我在 count() 函数中声明了变量 counter,所以我不理解 NameError。

标签: pythonnamespaces

解决方案


推荐阅读