您现在的位置是:课程教程文章

python中nonlocal关键字是什么

2023-12-13 23:36课程教程文章 人已围观

说明

1、nonlocal声明的变量不是局部变量或全局变量,而是外部嵌套函数中的变量。

2、nonlocal定义后的变量只会在调用的子函数中发挥作用。

实例

x=1
deffunc():
nonlocalx
x=2
print(x)
func()
print(x)

结果代码报错,SyntaxError:nobindingfornonlocal'x'found

为什么我只是把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外打印的值:1

nonlocal关键字既没有改变全局变量x=1的值,也没有改变局部变量x=2的值。这就是指nonlocal声明的变量不是局部变量,也不是全局变量。

以上就是python中nonlocal关键字的介绍,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

课程教程:python中nonlocal关键字是什么

上一篇:python如何在word中读取表格内容

下一篇:没有了

站点信息

  • 文章统计篇文章