不可变类型
数字、字符串、元组、不可变集合
a=[1,2,3]b=ab[0]=5print(b,a)#[5, 2, 3] [5, 2, 3]# 变量名为对象的指针,用来计数空间引用情况# 当其改变其对象的部分内容时,另外一个变量的内容也会跟着改变
可变与不可变指的是?
当列表本身发生变化时,id()未发生变化。
当字符串发生变化时,id()也会发生变化
>>> str_1 = "asdf">>> str_1'asdf'>>> id(str_1)1858646709840>>> str_1 += str_1>>> str_1'asdfasdf'>>> id(str_1)1858646817712
+=与=的区别
a = [1, 2, 3]def test(num):num += numprint(num)test(a)print(a)#[1, 2, 3, 1, 2, 3] 基于在原对象上进行操作# [1, 2, 3, 1, 2, 3]
a = [1, 2, 3]def test(num):num = num + numprint(num)test(a)print(a)#[1, 2, 3, 1, 2, 3] # 重新赋值操作[1, 2, 3]
