zoukankan      html  css  js  c++  java
  • python中的全局变量与局部变量

      全局变量与局部变量两者的本质区别就是在于作用域,全局变量即在整个程序中,任何地方都可以访问。而局部变量,试着在函数内部声明的变量,当函数运行结束时,局部变量就会被内存释放。

    例子:

    1 name='zs'
    2 def change():
    3      name='ls'
    4      change()
    5 print(name)   #输出为:’zs'  函数内的name是一个局部变量,函数运行结束即消失

    如果要修改全局变量,要在函数内部用关键字global声明。

    1 name='zs'
    2 def change():
    3     global name
    4     name='ls'
    5 change()
    6 print(name)     #输出为 ls   

    其实局部变量是有层次的,如果出现函数的嵌套,内层函数想调用外层的变量是,是不能用global声明的,因为外层的变量不叫全局变量。这时候如果想修改外层的变量,就得用到一个新的关键字:nonlocal  

    #强行使用global变量会报错,下面代码可以自己运行试试
    
    def fun():
        a = 3
    
        def fun2():
            global a
            a*= 2
            print(a)
    
        return fun2()
    fun()       

     如果使用nonlocal就可以完美解决:

     1 def fun():
     2     a = 3
     3 
     4     def fun2():
     5         nonlocal a
     6         a*= 2
     7         print(a)
     8 
     9     return fun2()
    10 fun()           #输出 6
  • 相关阅读:
    Http的请求协议请求行介绍
    Http概述
    服务器返回的14种常见HTTP状态码
    Tomcat发布项目
    Tomca的启动与关闭
    TomCat概述
    PrepareStatement
    JDBC的工具类
    JDBC的异常处理方式
    ResultSet
  • 原文地址:https://www.cnblogs.com/linshuhui/p/8977756.html
Copyright © 2011-2022 走看看