因此,我尝试将变量“checks”声明为全局变量,因为我遇到以下问题:
File "C:\Python27\Projects\Automatic Installer\autoinstall.py", line 11, in installFunc
if checks[0] == 1:
NameError: global name 'checks' is not defined
这是我的代码,我尝试在程序主体和installFunc函数中添加全局检查。是否有其他位置我应该添加它/其他方式来指示检查应该包含程序中的信息?在
^{pr2}$
将第一个“global checks”(全局级别的检查)替换为“global=…”,并对其进行适当的初始化。使用“global”只在函数/方法中才真正相关。根据Python文档:global语句是一个声明,用于保存整个当前代码块。这意味着列出的标识符将被解释为全局标识符。如果没有global就不可能赋值给一个全局变量,尽管自由变量可以引用全局变量而不声明为global。你可能还想读这篇文章-有很多相关的信息:Using global variables in a function other than the one that created them
问题不是第一次“全局检查”。导致错误的原因是在初始化之前访问了检查。在
在调用应用程序的主循环之前,必须初始化检查。在
我认为这是因为
checks
是在mainloop(发布的代码的最后一行)之后设置的。函数installFunc
通过按按钮从主循环调用,但检查尚未定义。在无论如何,在这种情况下使用全局数据并不是一个好主意。你可能应该做些类似的事情:
或者,更棒的是,在课堂上把这一切都总结起来。。。这样你就可以:
^{pr2}$相关问题 更多 >
编程相关推荐