🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 不变类型于可变类型 #### 不变类型 数字、字符串、元组 当对不可变类型的变量重新进行赋值时 如自增,会在内存中重新创建一个对象在这个新的对象上进行自增操作,在将变 量指向内存中的新的对象。 不可变类型相同值的内存地址都是相同的如: ``` a = 6 c = 6 print(id(a)) # 1591962800 print(id(c)) # 1591962800 # id() 查看变量值在内存中的地址 ``` #### 可变类型 字典、数组 对不可变类型进行赋值操作时指向的是同一个内存地址,将一个数组执行POP操作之后还是指向同一个地址,因为数组是 可变类型可以在原处修改。 将一个可变类型的变量赋值给另一个变量是它们会指向同一个内存地址,也就是内存中的同一个对象,对其中的一个值修 改会影响到另一个 ``` a = [1,2,3] b = a a.append(4) print(a) # [1, 2, 3, 4] print(b) # [1, 2, 3, 4] ``` 不可变类型相同值的内存地址都是不相同的: ``` a = [1,2,3] c = [1,2,3] print(id(a)) # 1155702443656 print(id(c)) # 1155702442632 ```