如何在函数外部使用函数内部声明的变量?

How to use variable declared inside function outside of it?

如何在函数外部使用我在函数内部声明的变量。我必须先声明一个函数然后再使用它吗? 使用 global 不起作用,那我该怎么办?

我在 tkinter Label 函数中使用变量,如下所示:

from tkinter import *
root = Tk()
def a():
    b = "hello world"

a()
q = Label(root, textvariable=b).pack()
root.mainloop()

所以这可能是问题的一部分,但我仍然不确定。
错误消息只是说变量不存在。

我认为你误用了 global

为了将变量的范围更改为全局范围,您需要在单独的语句中执行此操作,如:

def a:
    global b
    b = hello world

q = Label(textvariable=b).pack

更多示例请查看: https://www.w3schools.com/python/python_variables_global.asp

话虽如此。使用 global 可能不是最好的代码设计选择。范围有助于保持模块化和组织化。

在将变量赋给函数内的标签之前,您需要至少调用函数一次来初始化变量。此外,要在函数外部调用变量,您需要在函数内部使用 global 函数。 我知道这听起来令人困惑,但下面的代码将起作用:

from tkinter import *

root = Tk()

def a():
  global b # making the variable a global variable to be able to call it out of the function
  b = "hello world"


a() #initiate the variable by calling the function
q = Label(root,text=b) 
q.pack()

root.mainloop()

告诉我这是否有效!