可变数据类型和不可变数据类型
不可变类型:字符串、数字、元祖
可变类型:列表、字典、集合
不可变数据类型,如果修改值,内存地址会发生变化;
可变数据类型,如果修改值,内存地址不会发生变化;
使用内置函数 id 可以获取到一个变量的内存地址;
a = 12
b = a
print('修改前a=%X,修前后b=%X' % (id(a), id(b))) #修改前a=6AAB6D70,修前后b=6AAB6D70
a = 10
print(b) # 12
print('修改后a=%X,修改后b=%X' % (id(a), id(b))) #修改后a=6AAB6D30,修改后b=6AAB6D70
nums1 = [100, 200, 300]
nums2 = nums1
print('修改前nums1=%X,修改前nums2=%X' % (id(nums1), id(nums2)))
#修改前nums1=2399A5C32C8,修改前nums2=2399A5C32C8
nums1[0] = 1
print(nums2) #[1, 200, 300]
print('修改前nums1=%X,修改前nums2=%X' % (id(nums1), id(nums2)))
#修改前nums1=2399A5C32C8,修改前nums2=2399A5C32C8