zoukankan      html  css  js  c++  java
  • python global和nonlocal的使用

    ◆global和nonlocal是Python的两个重要变量作用域关键字

    1.global用在全局变量,应用场景:

    变量定义在函数外部的时候,如果函数里面想改变这个全局变量的值,需要在当前的引用函数里面重新定义一个变量 并用关键字global修饰。

    例如:

    a=1
    def b():
       a+=1
       print(a)
    b()
    

    用ide写完这段代码的时候,还没运行就会报红线提示错误,运行之后产生错误,错误内容为:UnboundLocalError: local variable 'a' referenced before assignment

    解决方案:函数中重新声明变量并加修饰符global修改:

    #!/usr/bin/env python  
    # encoding: utf-8  
    a=1
    def b():
       global a
       a+=1
       print(a)
    b()

    2.nonlocal非全局变量,应用场景:

     在函数的函数里面使用函数的变量。表达的可能有点混乱,看代码就知道了

    #!/usr/bin/env python  
    # encoding: utf-8
    def b():
       num2=1
       def c():
         nonlocal num2#为了修改非全局变量
         num2+=2
         print(num2)
       return  c
    b()()
    

    3.综合应用

    #!/usr/bin/env python  
    # encoding: utf-8  
    gcount = 0
    
    def global_test():
        global gcount
        s=0
        def g():
            nonlocal s
            s+=2
            print(s)
        return g
        gcount+=1
        print (gcount)
    global_test()()
    

      

  • 相关阅读:
    git命令使用方法
    git与svn对比
    浏览器缓存原理
    网络性能优化常用方法
    sass/scss 和 less的区别
    AngularJS和ReactJS对比
    让IE6,7,8支持HTML5新标签的方法
    Retina 屏移动设备 1px解决方案
    HttpClient学习
    国家二字码对照表
  • 原文地址:https://www.cnblogs.com/c-x-a/p/8854145.html
Copyright © 2011-2022 走看看