zoukankan      html  css  js  c++  java
  • 函数(二)

    七.局部变量、全局变量

    name = "李四"         #定义name = "李四"
    
    def name_change():
    
        name = "张三"     #在函数中把name修改为张三
    
        print(name)
    
    name_change()         #调用函数,打印函数中的name
    
    print(name)           #打印函数外的name

    运行结果:

    张三
    李四

    发现虽然函数内把name修改了,但是对函数外的name毫无影响,函数内的name就叫局部变量

    name = "李四"         #定义name = "李四"
    def name_change():
        print(name)       #不修改name,直接打印
    name_change()         #调用函数,打印函数中的name
    print(name)           #打印函数外的name

    运行结果:

    李四
    李四

    定义在函数外部的一级代码的变量就是全局变量,全局能用,所以函数引用有一个优先级,如果函数内有局部变量的话,先用局部变量,若是函数内没有变量则引用全局变量

    假如,一定要在函数中修改全局变量,可以使用global

    name = "李四"         #定义name = "李四"
    
    def name_change():

      global name    #使用global方法 name
    = "张三" #在函数中把name修改为张三 print(name) name_change() #调用函数,打印函数中的name print(name) #打印函数外的name

    结果:

    张三
    张三

    使用global后,在函数中修改name后发现全局变量也发生了变化

    注意:若是先赋值再用global的话就会报错

    name = "张三"
    
    global name

    遇到列表时,情况又有变化

    L1 = [123,456,789]
    
    def num_change():
    
        L1[0] = "abc"
    
        print(L1)
    
    num_change()
    
    print(L1)

    结果:

    ['abc', 456, 789]
    ['abc', 456, 789]
    在函数中修改了列表中的值,则全局的列表也会发生变化
  • 相关阅读:
    常见的web漏洞
    WEB前端性能优化常见方法
    前端多终端浏览器兼容
    vue中computer与watch区别
    Vue父子组件生命周期执行顺序
    Git配置文件的妙用
    Git的基本概念和操作
    对AUC计算公式和几何意义的理解(详细版)
    如何看文献
    Python函数 range()和arange()的区分
  • 原文地址:https://www.cnblogs.com/sunj-96/p/10638757.html
Copyright © 2011-2022 走看看