温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python的nonlocal关键字怎么使用

发布时间:2022-05-25 16:08:06 来源:亿速云 阅读:147 作者:iii 栏目:大数据

这篇文章主要介绍“python的nonlocal关键字怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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声明的变量不是局部变量,也不是全局变量。

关于“python的nonlocal关键字怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI