(红色为可变的)
整数 int浮点数 float布尔类型 bool数字 (int和float)字符串 str列表 List元组 tuple字典 dict日期 date@H_419_4@二、可变数据类型定义:当你第一次赋值声明了一个可变数据类型的时候, 会在内存中开辟一个空间, 并且将你所赋的数据值放在这块内存中, 然后将这个变量指向数据所在的内存所在位置, 不同的是, 可变数据类型可以对内存中的数据进行修改, 并且不会导致变量引用地址的变化, 但是这种修改仅限于Python中的内置方法, 比如List.append(), List.remove(), dict.pop(), dict.clear()等。
1、列表 List
#创建一个列表LL=[1,2,3,4]print(L)print(ID(L))#新增一个元素5后,查看内存L.append(5)print(L)print(ID(L))
2、字典 dict
#创建一个字典dictdict={"我":"靓仔","你":"老板"}print(dict)print(ID(dict))# #增加字典键值,查看内存dict["别人"]="吊毛"print(dict)print(ID(dict))#改变里面值,查看内存dict["你"]="吊毛"print(dict)print(ID(dict))
@H_419_4@三、不可变数据类型
定义:不可变数据类型在第一次声明赋值声明的时候, 会在内存中开辟一块空间, 用来存放这个变量被赋的值, 存放这个值的内存空间就是内存中的一个地址, 而这个变量实际上存储的, 并不是被赋予的这个值, 而是存放这个值所在空间的内存地址, 通过这个地址, 变量就可以在内存中取出数据了. 所谓不可变就是说, 我们不能改变这个数据在内存中的值, 所以当我们改变这个变量的赋值时, 只是在内存中重新开辟了一块空间, 将这一条新的数据存放在这一个新的内存地址里, 而原来的那个变量就不在引用原数据的内存地址而转为引用新数据的内存地址了.
1、整数 (int)、浮点数(float)、数字
#创建一个整数、浮点数、数字a=10b=20.22print(ID(a))print(ID(b))a=20b=20.44print(ID(a))print(ID(b))
2、字符串 (str)
#创建一个字符串str="a","b","c"print(str)print(ID(str))#拼接一个字符串Str="d","e"str=str+Strprint(str)print(ID(str))
3、元组 (teple)
总结:元组本来就是不可变类型(元组主要用来读取,不能修改)。
4、布尔类型 (bool)
#创建布尔类型bo=Trueprint(ID(bo))bo=Falseprint(ID(bo))
总结:布尔类型内存空间发生了改变,说明是不可变的
5、日期 (date)
创建date,导入日期包import datetimeTime=datetime.date.today()print(Time)print(ID(Time))Time=datetime.date.today()print(Time)print(ID(Time))
总结:日期类型内存空间发生了改变,说明是不可变的
好记性不如烂笔头
,每天记忆一点点。 (忘记了还可以回来捡起来,诶嘿嘿,)
以上是内存溢出为你收集整理的面试别再被问倒Python中的可变数据类型和不可变数据类型全部内容,希望文章能够帮你解决面试别再被问倒Python中的可变数据类型和不可变数据类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)