【问题标题】:How do I avoid using Global when using a variable in a different function?在不同函数中使用变量时如何避免使用 Global?
【发布时间】:2023-02-16 03:10:29
【问题描述】:

我正在构建一种道路代码测验类型的程序,该程序使用跨多个功能的用户输入。

我建立了变量用户笔记等于没有任何在我的主要程序中,将其设置为全球的在我的笔记()函数然后将其更新为等于其他值,并在另一个名为的函数中使用它测验结束().

我的想法是有一个称为函数的按钮,它接受用户的输入并在另一个 Tkinter 窗口中使用它,问题是我经常使用 global 来允许程序使用来自另一个函数的变量。我曾尝试使用 return 并将变量作为参数,但由于缺乏编码技能而失败了。

这是我的代码的预览:

def notes():
global usernote
usernote = str(ent_notes.get("1.0", "end-1c")) 
lbl_notesavestatus.config(text = "Saved!")

def quizfinish():
quizending = Tk() 
quizending.title("Well done!") 
quizending.geometry("410x365")
lbl_endnotes = Label(quizending, text = usernote)
lbl_endnotes.place(x = 10, y = 190)

usernote = NONE

如你所见,我需要使用用户笔记测验结束()但只能在我设置时(在我的理解范围内)用户笔记作为一个全局变量,根据我的理解,这根本不是一个好的做法。此外,这两个函数都不在任何类中。

该代码目前运行良好,但我该如何使用用户笔记在另一个函数中而不将其设置为全局?

【问题讨论】:

  • 代码中的缩进需要修复。

标签: function global-variables global


【解决方案1】:

改变这个:

usernote = str(ent_notes.get("1.0", "end-1c"))

到:

usernote = str(ent_notes.get())

【讨论】:

    猜你喜欢
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2012-05-04
    • 2022-01-07
    • 1970-01-01
    • 2014-12-20
    相关资源
    最近更新 更多