知行编程网知行编程网  2022-10-07 10:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中nonlocal关键字是什么的相关知识,包括python中false的值,以及python静态变量这些编程知识,希望对大家有参考作用。

python中的nonlocal关键字是什么


说明

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

2、nonlocal定义的变量只会在被调用的子函数中起作用。


实例

x = 1
def func():
    nonlocal x
    x =2
    print(x)
func()
print(x)
 
结果代码报错,SyntaxError: no binding for nonlocal 'x' found

为什么我只是把global换 成了nonlocal,却报错了?因为nonlocal是用于函数中的函数。

x = 1
def func():
    x = 2
    def subfunc():
        nonlocal x
        x = x + 1
        print('subfunc内打印的值:%d' % x)
        return x
    print('func内打印的值:%d' % x)
    return subfunc
func()
print('func外打印的值:%d' % x)
 
结果是:
func内打印的值:2
func外打印的值:1

nonlocal 关键字既不改变全局变量 x=1 的值,也不改变局部变量 x=2 的值。这意味着nonlocal声明的变量不是局部变量,也不是全局变量。


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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享