zoukankan      html  css  js  c++  java
  • python global变量作用域

    python变量作用域

    var1 = 123
    
    def func():
          var1 = 456
          print(var1)
    
    func()      #456
    print(var1)    #123
    

    ==================================================
    var1 = 123 def func(): global var1 #变成了教室的黑板(信息透明共享) var1 = 456 print(var1) func() #456 print(var1) #456
    global var1     #表明此处没有起到全局变量的作用
    
    def func():
          var1 = 456
          print(var1)
    
    func()         #456
    print(var1)    #NameError: name 'var1' is not defined
    global var1    #表明此处没有起到全局变量的作用
    var1 = 123
    
    def func():
    
        var1 = 456
        print(var1)
        return var1
    
    func()          #456
    print(var1)     #123
    var1 = 123    #这一行的全局变量也可以注释掉,不影响下面的代码
    
    def func1():
          global var1     #变成了教室的黑板(信息透明共享)
          var1 = 456
          print(var1)
    func1()       #456
    print(var1)   #456
    
    
    def func2():
        print(var1)
    func2()      #456
    
    
    def func3():
        var1 = 333
        print(var1)
    func3()       #333
    print(var1)   #456
    
    
    def func4():
        global var1   #再次变成了教室的黑板(信息透明共享)
        print(var1)    #456
        var1 = 444
        print(var1)    #444
    func4()       
    print(var1)   #444

    总结:

    1,global必须放在函数内,如果放在函数外将不起作用(如上面的红色字体)。

    2,某个函数如果想改变外部变量的值,就必须在函数内部的该变量前加global,如果有两个函数func1,func2都想改变外部变量var1的值,就必须在func1,func2里面的var1前加上global。

    3,如果func2想获取func1里面的var1的最新值,就必须在func1,func2里面的var1前加上global。

  • 相关阅读:
    我拒绝接受的几个最佳编程实践方法
    女人千万别写代码
    Visual Studio原生开发的10个调试技巧(二)
    20个很有用的PHP类库
    8个开发必备的PHP功能
    青少年如何使用 Python 开始游戏开发
    rmdir 删除空目录
    rm 删除文件或目录
    mv 移动或重命名文件
    cp 复制文件或目录
  • 原文地址:https://www.cnblogs.com/111testing/p/13905646.html
Copyright © 2011-2022 走看看