首页  >  文章  >  后端开发  >  何时对全局变量使用 Global 关键字?

何时对全局变量使用 Global 关键字?

Barbara Streisand
Barbara Streisand原创
2024-10-19 12:23:02390浏览

When to Use the Global Keyword for Global Variables?

函数作用域和全局变量

在编程中使用函数时,理解作用域的概念非常重要。函数创建自己的私有名称空间,与全局范围分开。这意味着函数内声明的变量只能在该函数内访问。

问题:函数不修改全局变量

考虑以下代码:

done = False

def function():
    for loop:
        code
        if not comply:
            done = True

while done == False:
    function()

意图这段代码的作用是当 function() 中的 done 设置为 True 时退出 while 循环。然而,在 function() 将 did 设置为 True 后,代码并没有退出循环。

为什么会出现这个问题

出现这个问题是因为 function() 中的变量 did 是局部变量变量,在函数的命名空间内创建。它与在函数外部定义的全局变量 did 是分开的。当 function() 给done赋一个新值时,实际上是修改局部变量,而不是全局变量。

解决方案:使用全局

要解决这个问题,你需要使用global 关键字在函数内显式引用全局变量。下面是更正后的代码:

def function():
    global done
    for loop:
        code
        if not comply:
            done = True

通过使用 global,您可以确保函数内的 did 变量引用全局范围中定义的同一变量。这允许您从函数内修改全局变量。

以上是何时对全局变量使用 Global 关键字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn