python对象的可变与不可变

在python中 string,tuple,numbers是不可更改对象,list和dict是可更改对象。
可更改和不可更改的一个点在于修改时内存地址是否发生改变

可变不可变也是传址和传值的区别
传值的参数类型:数字,字符串,元组
传址的参数类型:列表,字典
列表,字典之所以可以在原处修改,因为传的是地址,得到地址后在这个地址上修改。

a = 1
def modify(one_string):
    one_string = 2
modify(a)
print(a) 

这时候打印的a还是1

b = []
def modify(one_list):
    one_list.append('1')
modify(b)
print(b)

这时候b=['1']

你可能感兴趣的:(python对象的可变与不可变)