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

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

Barbara Streisand
发布: 2024-10-19 12:23:02
原创
549 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板