美文网首页
global与可变类型与不可变类型

global与可变类型与不可变类型

作者: 数据工程师从入门到放弃 | 来源:发表于2018-12-13 21:46 被阅读0次

    global与可变类型与不可变类型

    [TOC]

    
    # #定义不可变类型的全局变量
    g_num = 10
    print("函数外",id(g_num)) #函数外 1388211552
    print("函数外", g_num) #10
    
    def modify():
        #重新定义了一个局部变量
        #声明要修改的全局变量,表示要修改全局变量的内存地址
        global g_num
        g_num = 1
        print("函数内",id(g_num))  #函数内 1388211264
        print("函数内", g_num) #函数内 1
    
    modify()
    
    #此时修改后
    print("函数外",id(g_num)) #函数外 1388211264
    print("函数外", g_num)# 函数外 1
    
    #定义一盒可变类型的全局变量
    g_list = [3,5]
    print("函数外",id(g_list))
    
    
    def modify():
        #在原有基础航添加了一条数据
        global g_list
        #可变类型,可以在函数代码块里面直接修改
        #无论增加还是不增加global不会改变内存地址
        g_list.append(4)
        print(g_list)
        print("函数内",id(g_list))
        
    modify()
    
    print(g_list)
    
    """
    函数外 1871624927304
    [3, 5, 4]
    函数内 1871624927304
    [3, 5, 4]
    
    
    函数外 1871624928840
    [3, 5, 4]
    函数内 1871624928840
    """
    

    相关文章

      网友评论

          本文标题:global与可变类型与不可变类型

          本文链接:https://www.haomeiwen.com/subject/rxdihqtx.html