Python nonlocal 与 global 关键字解析
来源:互联网 发布:网络项目平台 编辑:程序博客网 时间:2024/06/05 15:04
nonlocal
首先,要明确 nonlocal 关键字是定义在闭包里面的。请看以下代码:
x = 0def outer(): x = 1 def inner(): x = 2 print("inner:", x) inner() print("outer:", x)outer()print("global:", x)
结果
# inner: 2# outer: 1# global: 0
现在,在闭包里面加入nonlocal关键字进行声明:
x = 0def outer(): x = 1 def inner(): nonlocal x x = 2 print("inner:", x) inner() print("outer:", x)outer()print("global:", x)
结果
# inner: 2# outer: 2# global: 0
看到区别了么?这是一个函数里面再嵌套了一个函数。当使用 nonlocal 时,就声明了该变量不只在嵌套函数inner()里面
才有效, 而是在整个大函数里面都有效。
global
还是一样,看一个例子:
x = 0def outer(): x = 1 def inner(): global x x = 2 print("inner:", x) inner() print("outer:", x)outer()print("global:", x)
结果
# inner: 2# outer: 1# global: 2
global 是对整个环境下的变量起作用,而不是对函数类的变量起作用。
0 0
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- Python nonlocal 与 global 关键字解析
- [python]global与nonlocal关键字
- global 和 nonlocal关键字
- python语法32[global与nonlocal比较]
- python语法[global与nonlocal比较]
- Python中global与nonlocal 声明
- Python 基础 —— global 与 nonlocal
- python global和nonlocal
- python global和nonlocal
- Python-keyword-global & nonlocal
- python nonlocal关键字
- python(第二天):global和nonlocal
- Netflix Hystrix — 应对复杂分布式系统中的延时和故障容错
- 关于Linux环境下使用Basler GigE相机的一些问题
- iOS H5+ 插件开发注意事项
- 编写Darwin的Module来支持新的流媒体文件格式
- php 上传视频并获取视频第一帧
- Python nonlocal 与 global 关键字解析
- windows编程二
- 空值处理 coalesce函数,NULLIF函数,CASE函数
- Android相机开发: 触摸对焦,触摸测光,二指手势缩放
- 代码单元与代码点
- AndroidStudio_华为手机无法输出日志信息
- 16槽的PCI Express®2.0扩展坞 EB16
- 一个Demo学会用Android兼容包新控件
- GYM 101102 L.Starry Night(贪心+dfs)