python中nonlocal的用法,python保留字nonlocal
说明
1.非局部声明的变量不是局部变量或全局变量,而是外部嵌套函数中的变量。
2.非局部定义的变量只会在被调用的子函数中起作用。
实例
x=1
deffunc():
非局部
x=2
打印(x)
函数()
打印(x)
代码报告了一个错误,发现语法错误: nobindingfornonlocal“x”。为什么我刚把全局改成非局部,却报错了?因为非局部是函数中使用的函数。
x=1
deffunc():
x=2
defsubfunc():
非局部
x=x 1
Print(打印的值print(子功能:%d%x )
returnx
打印(以 func: %d%x 打印的值)
returnsubfunc
函数()
打印(在函数外打印的值:%d%x )
结果是:
以功能:2打印的值
在func: 1nonlocal关键字外部打印的值既没有改变全局变量x=1的值,也没有改变局部变量x=2的值。这意味着非局部声明的变量不是局部变量,也不是全局变量。
以上是python中nonlocal关键字的介绍。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。