Pus*_*ade 1 python global-variables
我在python中使用全局变量时遇到麻烦......
在我的程序中,我声明了2个全局变量,全局SYNC_DATA和全局SYNC_TOTAL_SIZE
现在在我的一个函数中,我能够使用全局变量SYNC_DATA而不在函数中再次将其声明为全局变量; 但是,我无法以相同的方式使用其他全局变量SYNC_TOTAL_SIZE.我必须再次声明后者在函数中是全局的才能使用它.我得到这个错误,如果我使用它而不在函数中声明为全局 - "UnboundLocalError:局部变量'SYNC_TOTAL_SIZE'在赋值之前被引用"
为什么有时我可以访问全局变量而不将它们声明为函数中的全局变量而有时不是?为什么我们必须再次在函数中声明它是全局函数,因为它在开始时已经被声明过一次...为什么函数只检查全局命名空间中的变量,如果它没有在其中找到它命名空间?
假设SYNC_TOTAL_SIZE未声明为局部变量.它取决于您对全局变量执行的操作,因为只读取全局变量,不需要将其声明为全局变量,但如果要修改全局变量的值,则必须使用它来声明它global.