Skip to main content
 首页 » 编程设计

python全局变量问题

2025年05月04日20qq78292959

我在 python 中使用全局变量时遇到问题...

在我的程序中,我声明了 2 个全局变量, 全局 SYNC_DATA 和 全局 SYNC_TOTAL_SIZE

现在,在我的一个函数中,我可以使用全局变量 SYNC_DATA 而无需在函数中再次将其声明为全局变量;但是,我无法以相同的方式使用其他全局变量 SYNC_TOTAL_SIZE。我必须再次在函数中将后者声明为全局才能使用它。如果我在函数中使用它而不声明为全局变量,我会收到此错误 - “UnboundLocalError:局部变量‘SYNC_TOTAL_SIZE’在赋值前被引用”

为什么有时我可以访问全局变量而无需在函数中将它们声明为全局变量,有时却不能? 为什么我们必须在函数中再次将它声明为全局变量,而当它在开始时已经声明过一次...为什么函数不检查全局命名空间中的变量,如果它在其直接命名空间?

请您参考如下方法:

假设SYNC_TOTAL_SIZE未声明为局部变量。这取决于您对全局变量执行的操作,仅读取全局变量无需将其声明为全局变量,但如果您要修改全局变量的值,则必须使用 global 声明它。 .