python局部赋值的规则


Posted in Python onMarch 07, 2013
  myVar = 1
def myfunc():
    myVar += 1
myfunc() 
  

   会提示错误:

UnboundlocalError: local variable 'myVar' referenced before assignment

Python提出如下假设:如果在函数体内的任何地方对变量赋值,则Python将名称添加到局部命名空间中。

语句myVar += 1对名称myVar赋值,则myVar是函数myfunc的局部命名空间的一部分,而它当前没有关联值,所以会产生错误。

解决方法:使用global语句

myVar = 1
def myfunc():
    global myVar
    myVar += 1
myfunc()

附作用域搜索规则:

L:本地的(Local)

E:封闭的(Eclosing)

G:全局的(Global)

B:内置的(Built-in) 

Python 相关文章推荐
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
Mar 31 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
Python中文编码知识点
Feb 18 Python
python+django+rest框架配置创建方法
Aug 31 Python
Python any()函数的使用方法
Oct 28 Python
Softmax函数原理及Python实现过程解析
May 22 Python
python 如何调用 dubbo 接口
Sep 24 Python
python中使用.py配置文件的方法详解
Nov 23 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
Python 用户登录验证的小例子
Mar 06 #Python
Eclipse + Python 的安装与配置流程
Mar 05 #Python
python将html转成PDF的实现代码(包含中文)
Mar 04 #Python
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 #Python
python用ConfigObj读写配置文件的实现代码
Mar 04 #Python
Python编码时应该注意的几个情况
Mar 04 #Python
python中定义结构体的方法
Mar 04 #Python
You might like
ThinkPHP表单自动验证实例
2014/10/13 PHP
php绘制一条直线的方法
2015/01/24 PHP
最常用的12种设计模式小结
2011/08/09 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
基于JavaScript实现移动端无限加载分页
2017/03/27 Javascript
shiro授权的实现原理
2017/09/21 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
微信小程序用canvas画图并分享
2020/03/09 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
python多线程扫描端口示例
2014/01/16 Python
Python中使用动态变量名的方法
2014/05/06 Python
全面解读Python Web开发框架Django
2014/06/30 Python
python学习数据结构实例代码
2015/05/11 Python
python语言使用技巧分享
2016/05/31 Python
Python序列操作之进阶篇
2016/12/08 Python
Django进阶之CSRF的解决
2018/08/01 Python
Django框架反向解析操作详解
2019/11/28 Python
python实现学生成绩测评系统
2020/06/22 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
小学生检讨书大全
2014/02/06 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2015元旦标语横幅
2014/12/09 职场文书
实习工作表现评语
2014/12/31 职场文书
酒店辞职书范文
2015/02/26 职场文书
基层党支部承诺书
2015/04/30 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
linux下安装redis图文详细步骤
2021/12/04 Redis
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python