python中的可变数据类型是指对象所指的内存空间的值可以改变,不可变数据类型是指对象所指的内存空间的指不可以改变。我们下面看代码:
#可变数据和不可变数据
#不可变:对象所指向的内存空间中的值是不可以改变的
#不可变的类型:int str float tuple
num = 10
str1='abc'
print(id(str1))
str1='abcd'
print(id(str1)) #内存地址不同了
tuple1 = (3,5,6)
print(id(tuple1))
tuple2 = (3,5)
print(id(tuple2)) #内存地址不同了
#可变的元素:对象所指向内存空间的值是可以变化的
#可变类型:dict list set
list1=[1,2,3,4,5,6]
print(list1,id(list1))
list1.pop()
print(list1,id(list1)) #内存地址没有发生变化
dict1 = {1:'aa',2:'bb'}
print(dict1,id(dict1))
dict1.pop(1)
print(dict1,id(dict1)) #内存地址没有发生变化
set1={3,2,1}
print(set1,id(set1))
# set1.remove(3)
# print(set1,id(set1)) #内存地址没有发生变化
fset = frozenset(set1) #frozenset()返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
print(fset,id(fset))
fset = frozenset({3,6})
print(fset,id(fset))
我们通过id()这个函数就可以查看对象的内存地址,判断这个数据类型是可变数据类型还是不可变数据类型,欢迎大家相互交流学习!!!