• python 中 局部变量和全局变量


    001、局部变量:作用域仅限于函数内部。

    (base) root@PC1:/home/test# ls
    test.py
    (base) root@PC1:/home/test# cat test.py         ## 测试脚本
    #!/usr/bin/python
    
    def test_fun():                                 ## 创建函数
        a = 10
        print(a)
    
    test_fun()                                      ## 调用函数
    
    print("______________")
    print(a)
    
    (base) root@PC1:/home/test# python test.py     ## 执行程序
    10                                             ## 输出局部变量的值10
    ______________
    Traceback (most recent call last):
      File "/home/test/test.py", line 10, in <module>
        print(a)
    NameError: name 'a' is not defined             ## 在函数外部,局部变量a无法起作用

    002、全局变量:作用域在整个脚本

    (base) root@PC1:/home/test# ls
    test.py
    (base) root@PC1:/home/test# cat test.py        ## 测试脚本
    #!/usr/bin/python
    
    b = 1000                                       ## 定义全局变量b
    def test_fun():
        a = 10
        print(a)                                   ## 在函数内部输出局部变量a
        print(b)                                   ## 在函数内部输出全局变量b
    
    test_fun()                                     ## 调用函数
    
    
    (base) root@PC1:/home/test# python test.py     ## 执行函数
    10
    1000
    

    003、如果要先在函数内部调用全局变量, 全局变量必须定义在函数的前面

    (base) root@PC1:/home/test# ls
    test.py
    (base) root@PC1:/home/test# cat test.py          ## 测试脚本
    #!/usr/bin/python
    
    def test_fun():
        a = 10                                       ## 局部变量
        print(a)       
        print(b)                                     ## 调用全局变量, 全局变量b定义在函数后面,调用将报错
    
    test_fun()
    
    b = 1000
    (base) root@PC1:/home/test# python test.py      ## 执行程序,全局变量定义在函数后面,在函数内部无法调用全局变量b
    10
    Traceback (most recent call last):
      File "/home/test/test.py", line 8, in <module>
        test_fun()
      File "/home/test/test.py", line 6, in test_fun
        print(b)
    NameError: name 'b' is not defined
  • 相关阅读:
    spring各个版本开发包下载
    not value specified for parameter问题解决方案
    Ajax的重构
    Ajax中与服务器的通信【发送请求与处理响应】
    Ajax技术之XMLHttpRequest(二)【XMLHttpRequest常用方法和属性】
    “AI”项目日记
    英语学习笔记
    贺费德勒20冠,和关于程序员中年危机的思考
    《领域驱动设计:软件核心复杂性应对之道》读书笔记
    ERP系统知识笔记
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/16563162.html
Copyright © 2020-2023  润新知