首页 > 解决方案 > 为什么我不能访问在方法中定义的这个变量?

问题描述

我已经在一个小方法中放置了一个更新的变量,但是当我稍后在我的代码中以不同的方法使用它时,它显示为未定义。我是否必须以某种方式使这个变量成为全局变量?如果是,我会怎么做?这是代码:

def getval():
    threading.Timer(0.5, getval).start()
    time_interval = slide.get()
    print(time_interval)


getval()

该方法本质上是从 python 中的缩放小部件(滑块)中获取值(整数),并每半秒更新一次。然后我稍后使用该time_interval变量来控制不同的时间。

这是我得到的错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\Mihkel\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1702, in __call__
    return self.func(*args)
  File "C:/Users/Mihkel/Documents/PyCharm/main.py", line 40, in optionselected
    rb()
  File "C:/Users/Mihkel/Documents/PyCharm/main.py", line 86, in rb
    re()
  File "C:/Users/Mihkel/Documents/PyCharm/main.py", line 75, in re
    root.after(time_interval, blu)
NameError: name 'time_interval' is not defined

标签: pythonvariablesmethodsundefinedglobal

解决方案


推荐阅读