Python中的全局变量和局部变量详解

发布时间:2026/11/3 2:38:21
Python中的全局变量和局部变量详解 咱们来聊聊那个问题, 就是中, 全局变量还有局部变量在作用域和访问权限这块, 是有着明显的区别。你听好了, 这个全局变量, 它是在整个程序当中都能被访问到的那个类型的东西而另一方面, 这个局部变量则仅仅只能够在它自己定义的那个函数里面才行。1. 全局变量# 定义全局变量global_var 10# 全局变量在函数内部也是可访问的def func_using_global():print(f访问全局变量 global_var 的值{global_var})# 调用函数func_using_global()如上面那个示例里显示的, 那个东西是被定义成了全局变量, 所以说呢, 它完全可以在函数括号里面被访问到并且能被使用。2. 局部变量# 定义函数内部有一个局部变量def func_creating_local():local_var 20print(f局部变量 local_var 的值{local_var})# 调用函数func_creating_local()# 尝试在函数外部访问局部变量会导致 NameError# print(f尝试在函数外部访问局部变量 local_var{local_var})在这个例子当中, 那个东西是在函数这个括号里面的局部变量。如果你想去尝试在函数外面去访问这个局部变量的话, 那么就会发生错误。这是因为局部变量它的作用范围是被限制在它被定义的那个函数的内部的, 除了这个函数之外它就没办法被访问到了。3. 在全局的作用域里, 存在着变量, 然后呢在函数的内里头, 对这些个变量进行了修改。global_var 10def modify_global():global global_varglobal_var 30print(f在函数内部修改全局变量 global_var 的值为{global_var})modify_global()print(f全局变量 global_var 修改后的值为{global_var})在这个示例里面, 大家看到在函数的内部使用那个关键词, 然后我们就成功的把全局变量的值给改成了30, 另外这个修改还是能够一直保持下去的, 它会对整个程序都造成影响。4. 当局部变量的名字碰巧和全局变量的名字一样, 这就构成了命名上的冲突。在编程这个场景下, 要是全局变量和局部变量用了同一个名字, 那可能会让大家搞不清楚状况, 还可能会导致出现一些让人意想不到的结果。下面是给大家准备的一个示例。var 10 # 全局变量def func():var 20 # 局部变量print(f在函数内部的局部变量 var 值为{var})func()print(f在函数外部的全局变量 var 值为{var})在这个情况下面, 是存在有一个全局变量 var , 同时也存在有函数内部的一个同名的局部变量 var 。当我们在函数内部的时侯, 那一个局部变量 var 的值它是等于 20 的, 可是在函数外部的那个时侯, 全局变量 var 的值它依然是保持着 10 不变。因为这个命名冲突的事情, 它是有可能会给人带来一些混淆感的, 所以我们是在编写代码的时候需要特别地去注意一下才行。5. 使用 关键字修改嵌套函数中的变量其中, 还存在一个嵌套函数的现象。具体来说, 就是在一个函数里面再去定义另一个函数。在这个时候。就可以利用某关键字去改变那个外层函数中的局部变量内容。def outer_func():outer_var 30 # 外层函数的局部变量def inner_func():nonlocal outer_varouter_var 40 # 修改外层函数的局部变量print(f嵌套函数内部修改外部函数变量 outer_var 值为{outer_var})inner_func()print(f外部函数变量 outer_var 修改后的值为{outer_var})outer_func()在这个例子里面, 我们看到了在嵌套函数中进行操作的情况, 并且使用了相关的关键字来修改外层函数的局部变量的值, 结果使得这个变量的值从30变成为了40。总结总结全局变量和局部变量在中的区别是至关重要的。全局变量可以在整个程序中被访问到, 而局部变量只有在其所定义的函数内部才具有可见性。这种差异具体牵涉到作用域以及访问权限的问题, 并且会直接影响程序整体结构上的合理性以及运行时的灵活性情况。与此同时, 这一知识点对于有效避免命名冲突的发生以及保障程序逻辑表达得足够清晰明了, 也都是极其重要的环节。把全局变量和局部变量用得合理一点, 可以让代码变得更清晰, 也更容易去维护它。与此同时, 在嵌套函数里面处理局部变量的变动时的那个关键字, 在对外层函数的变量数值进行修改的时候, 显得特别有用处。只要弄懂这些概念就能够更好地使用这个语言的强大功能和灵活特点, 从而写出看上去更加优雅并且非常稳固的代码内容。对于构建一个优秀的程序来说, 全局变量与局部变量的正确使用方法这件事是非常非常重要的。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询