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

2018-12-13  本文已影响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
"""
上一篇下一篇

猜你喜欢

热点阅读