Python作用域规则怎么理解_local与global说明【教学】


Python作用域遵循LEGB原则,局部变量默认在函数内定义且不可外访,修改全局变量需global声明,但可变对象的内容修改无需global。

python作用域规则怎么理解_local与global说明【教学】

Python的作用域规则核心是LEGB原则:Local → Enclosing → Global → Built-in。理解local和global的关键,在于搞清变量“在哪里定义”“在哪儿能被访问”“修改时是否需要显式声明”。

局部作用域(local):函数内部自成一体

函数内赋值的变量默认是局部的,只在该函数内部有效。哪怕名字和外面一样,也互不影响。

  • 函数执行完,局部变量自动销毁(除非被闭包捕获)
  • 函数里读取一个变量,没赋值过,会向上查找(比如找global);但只要在同一作用域里有赋值语句,Python就认定它是local——哪怕赋值写在if里、甚至没执行到,也会报UnboundLocalError
  • 例子:
    >>> x = 10
    >>> def f():
    ...    print(x)    # OK,只读,找global
    ...    x = 20      # 这行一存在,上面print(x)就报错!

全局作用域(global):模块级变量,默认可读不可写

模块顶层定义的变量属于global作用域。函数中可以读它,但想修改必须用global关键字声明。

  • global var_name告诉Python:“接下来对var_name的赋值,不是创建新局部变量,而是修改全局那个”
  • 不加global直接赋值,等于新建一个同名local变量,global原变量不变
  • 例子:
    >>> count = 0
    >>> def inc():
    ...    global count
    ...    count += 1
    >>> inc()
    >>> count
    1

什么时候不用global也能改全局对象?

注意:global控制的是“变量绑定”,不是“对象内容”。如果全局变量是可变对象(如list、dict),函数里不重新赋值变量名,而是调用其方法修改内容,就不需要global。

吐司AI 吐司AI

超多功能的免费在线生图网站!拥有全网更齐全的模型库,0门槛使用!

吐司AI 325 查看详情 吐司AI

立即学习“Python免费学习笔记(深入)”;

  • ✅ 正确(改内容,不改绑定):
    >>> data = []
    >>> def add(x):
    ...    data.append(x)    # 不用global
  • ❌ 错误(试图重新绑定):
    >>> def reset():
    ...    data = []            # 创建了local data,global data没变
  • ✅ 要彻底替换才需global:
    >>> def reset():
    ...    global data
    ...    data = []

小技巧:快速检查变量在哪一层

用locals()和globals()函数查看当前作用域的变量字典,调试时很直观。

  • locals()返回当前局部变量(函数内调用)
  • globals()始终返回模块全局变量字典
  • 注意:locals()在函数里修改字典,不会影响实际局部变量(设计如此)

以上就是Python作用域规则怎么理解_local与global说明【教学】的详细内容,更多请关注其它相关文章!


# app  # 作用域  # 全局变量  # python  # 什么时候  # 自学seo可以考证吗  # 枫树seo网网站  # seo是什么服务器  # 也能  # 就不  # 多模  # 的是  # 结构化  # 如何实现  # 会报  # 绑定  # gps网站建设  # 平安网站推广方案怎么写  # 网站优化和网站推广  # 涟水美食推广招聘网站  # 香港关键词排名推荐乐云seo  # 固镇建设局网站  # 不错的网站建设公 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  《大学搜题酱》官网地址登录  苹果17 Pro如何启用分屏浏览_iPhone 17 Pro分屏浏览设置步骤  Firefox OS应用开发:解决XMLHttpRequest跨域请求阻塞问题  Windows Audio服务启动失败怎么办_电脑没声音的终极服务修复法【修复】  优化Google Charts Gauge:在数据库无数据时显示默认值  抖音小程序怎么开通?小程序开通条件是什么?  2025考研成绩查询时间入口分享  《我的恋爱逃生攻略》中文名字输入方法  优酷官网登录入口电脑版 优酷官网网址入口  mysql中如何分析索引使用情况_mysql索引使用分析方法  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  2025SNH48年度青春盛典门票价格及购买方式  如何通过settings.json个性化您的VS Code体验  深入理解J*aScript异步操作:setTimeout与调用栈的真相  PHP utf8_encode 字符编码转换疑难解析与最佳实践  TikTok收藏夹无法删除视频如何解决 TikTok收藏管理优化方法  《兴业银行》注册登录方法  192.168.1.1路由器后台入口 192.168.1.1默认登录入口  12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧  苹果官网国补入口在哪  可米酷漫画在线阅读入口_ 可米酷漫画官网直达链接  纯CSS实现自适应宽度与响应式布局的水平按钮组  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  如何在CSS中实现盒模型多列间距_grid-gap与padding结合  《土豆雅思》修改密码方法  在J*a里什么是行为抽象_抽象行为对代码复用的提升作用  sublime text 4如何安装_最新版sublime下载与汉化教程  手机远程连接电脑方法  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  Pydantic 中“schema”字段命名冲突的解决方案  斯宾塞称XGP云游戏“蒸蒸日上”:正在构建一个游戏从未如此唾手可得的未来  顺丰快递单号查询寄件人 顺丰寄件人查询入口  163邮箱在线登录 163邮箱网页版在线入口  动漫岛汉化官网网 动漫岛官方动漫汉化地址  如何定制PrimeNG Sidebar的背景颜色  键盘测试软件哪个好_键盘故障检测工具推荐  顺丰快递怎么查物流_顺丰快递物流信息实时查询操作指南  掌握CSS :has() 选择器:父选择器、嵌套限制与常见陷阱解析  优化响应式标题底部边框:CSS实现技巧与最佳实践  苹果手机怎么合并照片_苹果手机合并多张照片的操作方法  windows10怎么开启卓越性能_windows10电源选项代码激活  QQ邮箱注册地址 免费获取QQ邮箱账号  抖音评论无法发送如何修复 抖音评论功能操作指南  我的世界官方网址入口 我的世界游戏主页直达入口  如何使用 composer 和 aop-php 实现 AOP 编程?  Word如何将文字快速转成表格 Word文本转换成表格功能使用技巧【效率】  《波斯王子:失落的王冠》剑术大师打法攻略  163邮箱网页版入口 163邮箱在线使用  《KARDS》冬季扩展包“国土阵线”上线!全新“协力”机制改变战场格局 

 2025-12-19

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.