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处理文本文件实现生成指定格式文件的方法
Jul 31 Python
Python读写文件方法总结
Jun 09 Python
Python中的fileinput模块的简单实用示例
Jul 09 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Python做文本按行去重的实现方法
Oct 19 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
python实现逐个读取txt字符并修改
Dec 24 Python
pandas 选取行和列数据的方法详解
Aug 08 Python
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
May 17 Python
Python实战实现爬取天气数据并完成可视化分析详解
Jun 16 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
php递归方法实现无限分类实例代码
2014/02/28 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
Django与JS交互的示例代码
2017/08/23 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
python 反向输出字符串的方法
2018/07/16 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python使用Pygame绘制时钟
2020/11/29 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
大学专科生推荐信范文
2013/11/23 职场文书
管理学院毕业生自荐信范文
2014/03/10 职场文书
政风行风建设责任书
2014/07/23 职场文书
教育项目合作协议书格式
2014/10/17 职场文书