字典的学习:
#-*-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)))
实例
文件的序列化和反序列化
序列化:就是把内容写到文件中去
反序列化:读取文件中的数据