zoukankan      html  css  js  c++  java
  • python基础之全局变量与global关键字

      python的变量是存在作用域的,在代码中不同位置的变量作用的范围会有所不同,比如有的变量在整段代码中都可以使用,有的变量却只在函数内部使用。python中把能够在整段代码任意位置有效的变量称为全局变量,只在函数内部使用的变量称作局部变量。

      全局变量:

    a = 520         #此时a作为全局变量
    
    def fuction():
        print('函数内部打印结果:',a)    
    
    fuction()
    print('函数之外打印输出:',a)
    
    
    
    #打印结果展示
    
    #函数内部打印结果: 520
    #函数之外打印输出: 520

      局部变量:

    def function02():
        a = 521
        print('函数内部打印结果:',a)
    
    function02()
    print('函数之外打印输出:',a)
    

    # 打印结果展示

    # 函数内部打印结果: 521 # Traceback (most recent call last): # File "E:/python/老男孩视频教学/代做课设/demo02.py", line 22, in <module> # print('函数之外打印输出:',a) # NameError: name 'a' is not defined

      我们发现当变量只在函数内部赋值时,在函数之外如果对其打印的话会报错,显示变量并没有被定义,因为其作用域只是在函数内部,当函数执行之后就会被释放,在函数之外相当于没有定义。

      然而在一些特定场景中,我们需要获取函数内部定义的变量时,换句话就是如何让上述关于局部变量的代码运行不报错,这里我们介绍global关键字解决上述问题。global关键字的作用:声明变量var是全局的,例如:

    def function02():
        global a
        a = 521
        print('函数内部打印结果:',a)
    
    function02()
    print('函数之外打印输出:',a)
    
    
    # #打印结果展示
    #
    # #函数内部打印结果: 521
    # #函数之外打印输出: 521

      从运行结果可以看到即使在函数内部定义的变量,在使用global关键字申明后即使在函数之外对变量引用也不会报错。

      

  • 相关阅读:
    CXF对Interceptor拦截器的支持
    SpringBoot 自定义Banner
    Spring Boot应用的后台运行配置
    CXF 开发 REST 服务
    CXF SOAP 及其安全控制
    Cxf 自动生成客户端服务端代码
    跨域的另一种解决方案CORS(CrossOrigin Resource Sharing)跨域资源共享
    从 MVC 到前后端分离
    远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
    MYSQL
  • 原文地址:https://www.cnblogs.com/gousheng123/p/12995424.html
Copyright © 2011-2022 走看看