Python3 nonlocal
来源:互联网 发布:淘宝面单打印软件 编辑:程序博客网 时间:2024/06/07 04:04
在Python 2.x中,闭包只能读外部函数的变量,而不能改写它。
举例来说,这样是合法的:
def a(): x = 0 def b(): print locals() y = x + 1 print locals() print x, y return ba()()而这样是非法的:
def a(): x = 0 def b(): print locals() y = x + 1 print locals() x = 1 print x, y return ba()()
为了解决这个问题,Python 3.x引入了nonlocal关键字
只要在闭包内用nonlocal声明变量,就可以让解释器在外层函数中查找变量名了,例如:
def a(): x = 0 def b(): nonlocal x x += 1 print x return ba()()
0 0
- Python3 nonlocal
- Python3.X增加的关键字nonlocal
- Python3.X增加的关键字nonlocal
- nonlocal
- nonlocal
- nonlocal
- python3中global 和 nonlocal 的作用域
- Python3中 对local和nonlocal 关键字的改善认识(新手向)
- Nonlocal Jumps
- python global和nonlocal
- nonlocal与嵌套函数
- python global和nonlocal
- global和nonlocal
- Python-keyword-global & nonlocal
- python nonlocal关键字
- global 和 nonlocal关键字
- python nonlocal语句
- [python]global与nonlocal关键字
- 彻底解决Android 应用方法数不能超过65536的问题
- 4.重建二叉树(做第二遍时感觉仍有有难度,第三次做还是要看一下思路才行)
- 如何学习算法
- 开发工具:GitHub的使用
- C++委托实现(函数指针,function+bind,委托模式)
- Python3 nonlocal
- windows 8关闭小键盘
- hdu 1241 简单 搜索DFS (深搜)
- bzoj 1411: [ZJOI2009]硬币游戏 找规律
- LeetCode------Contains Duplicate
- tabLayout 和Viewpager 实现滑动
- 对于静态和非静态类的属性的理解
- Linux--图形界面与文本界面的切换
- shell下的单引号与双引号