python字典序列化是什么意思_python学习笔记字典和序列化和反序列化

字典的学习:

#-*-coding:utf-8-*-

#定义一个字典,里面有各种数据

dict1={'name':'zhangsan','age':'20','date':{'id':'5','name':'zhang'}}

#打印出字典中age的value值

print(dict1['age'])

#打印出字典中data对应的id的value值

print(dict1['date']['id'])

#打印出字典里的key值

print(dict1.keys())

#打印出字典里的valuez值

print(dict1.values())

循环取出key对应的value值

dict2={'name':'zhangsan','age':'20'}

for key,value in dict2.items():

print(key+":"+value)

序列化和返序列化

序列化:可以理解为把python的对象编码转行成json格式的字符串

------序列化就是把python内置数据类型(列表list,元组tuple,字典dict)转化成str

返序列化:可以理解为把json格式字符串解码为python数据对象

-----返序列化就是把str转化为python内置数据类型(列表list,字典dict)

字符串格式-----json格式 str

json字符串的格式有很多种str只是其中一个,text,html,xml

序列化dump,dumps,返序列化load,loads

dump,load是对文件的序列化和返序列化

dumps,loads是对非文件的序列化和返序列化

字典的序列化和返序列化

import json

字典序列化和返序列化的操作

dict1={'name':'zhangsan','age':'20'}

#字典未序列化之前的内容和数据类型

print('字典未序列化之前的内容{0},数据类型:{1}\n'.format(dict1,type(dict1)))

#字典序列化之后的内容和类型

dict_str=json.dumps(dict1)

print('字典序列化之后的内容{0},类型{1}\n'.format(dict_str,type((dict_str))))

#对字典进行反序列化的后查看内容和数据类型

dict2=json.loads(dict_str)

print('字符串dict_str返序列化后的内容:{0},类型{1}'.format(dict2,type(dict2)))

列表的序列化和反序列化

#列表的序列化和反序列化

list1=[1,2,3,4,5]

print('列表未序列化之前的内容{0},数据类型:{1}\n'.format(list1,type(list1)))

#对列表进行序列化处理后查看内容和数据类型

list_str=json.dumps(list1)

print('列表序列化之后的内容{0},数据类型:{1}\n'.format(list_str,type(list_str)))

#列表反序列化之后的内容和数据类型

list2=json.loads(list_str)

print('列表反序列化之后的内容{0},数据类型:{1}\n'.format(list2,type(list2)))

元组的序列化和反序列化

#元组的序列化和反序列化

tuple1=(1,2,3,4,5)

print('元组未序列化之前的内容{0},数据类型:{1}\n'.format(tuple1,type(tuple1)))

#对元组序列化后,查看内容和数据类型

tuple_str=json.dumps(tuple1)

print('元组序列化之后的内容{0},数据类型:{1}\n'.format(tuple_str,type(tuple_str)))

#元组反序列化后,查看内容和数据类型

tuple2=json.loads(tuple_str)

print('元组反序列化之后的内容{0},数据类型:{1}\n'.format(tuple2,type(tuple2)))

实例

文件的序列化和反序列化

序列化:就是把内容写到文件中去

反序列化:读取文件中的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值