• 技术文章 >Python技术 >Python基础教程

    python中nonlocal关键字是什么

    小妮浅浅小妮浅浅2021-09-17 09:27:54原创9377

    说明

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    x = 1

    def func():

        nonlocal x

        x =2

        print(x)

    func()

    print(x)

      

    结果代码报错,SyntaxError: no binding for nonlocal 'x' found

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    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学习指路:python基础教程

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

    专题推荐:python nonlocal
    上一篇:python如何实现邮件的收发 下一篇:python如何在word中读取表格内容

    相关文章推荐

    • python套接字编程的服务器和客户端• Python如何搭建gRPC服务• Python lambda的速写用法• Python如何实现打字训练的程序• Python列表推导式如何使用• python中pyquery初始化的方法• python中pyquery的CSS选择器用法• python GUI编程有哪些模板• python拼音模块的特性• python中文生僻字的识别• python字符串常用技巧的总结• python settings路由配置的解决• python如何实现邮件的收发

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网