python2 nonlocal(python中nonlocal关键字是什么)
导读:说明...
说明
1 、nonlocal声明的变量不是局部变量或全局变量 ,而是外部嵌套函数中的变量 。
2 、nonlocal定义后的变量只会在调用的子函数中发挥作用 。
实例
x=1 deffunc(): nonlocalx x=2 print(x) func() print(x) 结果代码报错 ,SyntaxError:nobindingfornonlocalxfound为什么我只是把global换 成了nonlocal ,却报错了?因为nonlocal是用于函数中的函数 。
x=1 deffunc(): x=2 defsubfunc(): nonlocalx x=x+1 print(subfunc内打印的值:%d%x) returnx print(func内打印的值:%d%x) returnsubfunc func() print(func外打印的值:%d%x) 结果是: func内打印的值:2 func外打印的值:1nonlocal关键字既没有改变全局变量x=1的值 ,也没有改变局部变量x=2的值 。这就是指nonlocal声明的变量不是局部变量,也不是全局变量 。
以上就是python中nonlocal关键字的介绍 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!