# 数据可以根据其特性分为可变数据和不可变数据
"""
1、字符串,整形,元组,可变集合都是可变的。
2、列表,字典,不可变集合都是不可变的
3、变量重新赋值前后,其所在内存位置会放生变化的,是不可变类型,说明他的值是不能变化的,发生改变就会重新使用新的内存地址
4、变量重新赋值前后,其所在内存位置不会放生变化的,是可变类型,说明他的值是可以变化的,发生改变不会使用新的内存地址
"""
# 示例1、不可变类型,重新赋值,内存地址会发生变化
"""
1、字符串
2、整形
3、元组(元组不能修改删除,不做演示)
"""
str1 = 'abc'
print(id(str1))
str1 = 'bcd'
print(id(str1))
int1 = 123
print(int1)
int1 = 234
print(int1)
# 示例2、可变类型,重新赋值,内存地址不会发生变化
"""
1、列表
2、字典
"""
list1 = [1, 2, 'a', 'b']
print(id(list1))
list1[2] = 'c'
print(list1)
print(id(list1))
dic1 = {1: 1, 2: 2, 3: 'c'}
print(id(dic1))
dic1[1] = 'c'
print(dic1)
print(id(dic1))