【发布时间】:2011-06-08 07:27:31
【问题描述】:
我在 python 中使用全局变量时遇到问题...
在我的程序中,我声明了 2 个全局变量, 全局 SYNC_DATA 和 全局 SYNC_TOTAL_SIZE
现在在我的一个函数中,我可以使用全局变量 SYNC_DATA 而无需在函数中再次将其声明为全局变量;但是,我无法以相同的方式使用其他全局变量 SYNC_TOTAL_SIZE。我必须在函数中再次将后者声明为全局才能使用它。如果我使用它而不在函数中声明为全局,我会收到此错误 - “UnboundLocalError: local variable 'SYNC_TOTAL_SIZE' referenced before assignment”
为什么有时我可以访问全局变量而无需在函数中将它们声明为全局变量,而有时却不能? 以及为什么我们必须在函数中再次将它声明为全局,而它已经在开始时声明过一次......为什么函数不检查全局命名空间中的变量,如果它在它的直接命名空间?
【问题讨论】: