python中nonlocal关键字的说明和使用方法

这篇文章主要讲解了“python中nonlocal关键字的说明和使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中nonlocal关键字的说明和使用方法”吧!

创新互联专注于企业全网营销推广、网站重做改版、城阳网站定制设计、自适应品牌网站建设、html5商城网站制作、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为城阳等各大城市提供网站开发制作服务。

说明

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关键字的说明和使用方法”的内容了,经过本文的学习后,相信大家对python中nonlocal关键字的说明和使用方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站标题:python中nonlocal关键字的说明和使用方法
标题来源:http://azwzsj.com/article/ijjghi.html