【发布时间】:2019-07-05 08:06:40
【问题描述】:
我发现自己使用大量全局变量来访问用户输入(例如文件路径),但我知道这是不好的做法,最终可能会导致意大利面条式代码。
如何在没有全局变量的情况下更好地组织这个应用程序,以便我可以利用通过按钮按下等在 GUI 中设置的变量?
我尝试过全局变量,它们确实有效,但可能会导致不良习惯的形成,如果没有这些,我会收到有关变量超出范围和未定义的错误。
到目前为止,当所有内容都在一个 .py 文件中时,该应用程序可以正常工作,但现在它正在增长,我想将其拆分为我正在努力的适当结构。
我希望能够在绑定到我的 GUI 的方法中使用变量,这样我就可以将应用程序拆分为多个文件,而不是将它们全部放在一个文件中,这似乎不切实际或不好的做法。我不确定使用类是否会更好,或者是否有更好的方法来实现我想要实现的目标。
【问题讨论】:
-
您可以使用类,这是避免全局可变状态的一种方法。另一种是简单地将数据作为参数传递给函数并从函数返回数据。如果没有更多细节,我认为没有人可以提供更具体的建议
-
How to make a cross-module variable? 的可能重复项 - 我在写完我的答案后去寻找这个 - 如果这个问题作为一个骗子被关闭,我将删除我的答案或标记为 community wiki.
标签: python