• 函数4.8局部、全局变量


    一、局部变量

    1. 是什么

    局部变量:在函数中定义的变量,包括形参变量也是局部变量,只能在定义它的函数中用

    2. 做什么

    我们知道函数要尽量遵循“高内聚,低耦合”也就是一个函数的功能尽量独立,为了实现这些功能就免不了进行各种数学运算,想要运算就需要变量,此时在函数中定义变量的需求也就自然而然的来了

    所以说,局部变量一般就是为了实现这个函数中的功能而定义的变量,只能在当前函数中使用,其他函数不能使用

    3. 特点

    • 局部变量,就是在函数内部定义的变量
    • 形参也属于局部变量
    • 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
    • 每次调用函数时,局部变量都会重新使用,而不是用上一次调用函数时留下的数据
    • 因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量(打个比方,把你、我是当做成函数,把局部变量理解为每个人手里的手机,你可有个iPhone12,我当然也可以有个iPhone12, 互不相关)

    二、全局变量

    1. 是什么

    全局变量:一种在函数外部定义的变量,可以在所有函数中共用

    2. 做什么

    局部变量它的作用范围就只能在定义它的函数中用,而有时为了能够在多个函数之间共用某个数据,此时就有了全局变量

    打个比方:有2个兄弟各自有手机,各自有自己的小秘密在手机里,不让另外一方使用(可以理解为局部变量);但是家里的电话是2个兄弟都可以随便使用的(可以理解为全局变量)

    3. 怎样用

    定义全局变量

    # 定义全局变量
    a = 100
    

      

     

    获取全局变量

    # 定义全局变量
    a = 100
    
    
    def test1():
        print(a)  # 虽然没有定义变量a但是依然可以获取其数据
    
    
    # 调用函数
    test1()
    

      

     

    修改全局变量

    如果一个函数中需要修改全局的值,此时我们需要用globa进行声明

    # 定义全局变量
    a = 100
    
    def test1():
        print(a)  # 虽然没有定义变量a但是依然可以获取其数据
    
    
    def test2():
        global a  # 如果一个函数中需要修改全局的值,此时我们需要用globa进行声明
        a += 1  # 修改全局变量
        print(a)
    
    # 调用函数
    test1()
    

      

    示例

    4. 总结

    • 在函数外边定义的变量叫做全局变量
    • 全局变量能够在所有的函数中进行访问

    • 当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值

    • 如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量

    • 如果在一个函数中需要对多个全局变量进行修改,那么可以使用
  • 相关阅读:
    一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)
    [小细节,大BUG]记录一些小问题引起的大BUG(长期更新....)
    利用runTime,实现以模型为主的字典转模型(注意与KVC的区别)
    项目总结(三)--- 关于版本控制器
    项目总结(一)--- 关于用到的设计模式
    EntityFramework与TransactionScope事务和并发控制
    Entity Framework与ADO.NET批量插入数据性能测试
    Mathtype公式位置偏上
    FreeSWITCH 加载模块过程解读
    FreeSWITCH调用第三方TTS 使用tts_commandline
  • 原文地址:https://www.cnblogs.com/dong4716138/p/15696500.html
Copyright © 2020-2023  润新知