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
"""