在Python中,根据当数据变量发生改变时,变量的内存地址是否会发生改变,将数据类型分为可变数据类型和不可变数据类型两种
可变数据类型
- 可变数据类型的定义是:当变量发生变化时,内存地址不会发生变化
- 比如:列表list、集合set、字典dict
l1 = [1,2,3,4,5]
# id()--查看内存地址
print(id(l1))
l1.append(6)
print(l1,id(l1))
s1 = {1,2,3,4}
print(id(s1))
s1.add(5)
print(s1,id(s1))
d1 = {'name': 'Jack','age': 20}
print(id(d1))
d1['sex']='man'
print(d1,id(d1))
不可变数据类型
- 不可变数据类型定义:当变量的内容发生改变时,其内存地址也会发生改变
- 如:str、int、float、bool、tuple
s1 = 'abc'
print(id(s1))
s1 = 'qwe'
print(s1,id(s1))
i1 = 12
print(id(i1))
i1 = 20
print(i1,id(i1))
f1 = 1.2
print(id(f1))
f1 = 2.3
print(f1,id(f1))
b1 = True
print(id(b1))
b1 = False
print(b1,id(b1))
t1 = (1,2,3)
print(id(t1))
t1 = (4,5,6)
print(t1,id(t1))