学习内容
1.序列化——数据类型转向字符串数据类型
反序列化——字符串转向数据类型
2.序列化模块
json模块
通用序列化格式
弊端:只有少部分数据类型可通过json转化
pickle模块
所有的python中的数据类型都是可以转换成字符串形式
弊端:pickle序列化的内容只有python能理解
且部分反序列化以来代码
shelve模块
3.模块导入习惯
1.内置模块--扩展模块--自定义模块
4.导入模块
1.import 模块名
#模块名,变量名与本文件不冲突
2.import 模块名 as 重命名的模块名
#提高代码的兼容性
3.from 模块名 import 变量名
#直接使用 变量名
#如果本文件有相同的变量名会冲突
4.from 模块名 import 变量名 as 重命名变量名
5.from 模块名 import 变量名1,变量名2
6.form 模块名 import *
7.__name__
代码区
1.练习代码
# json模块 ''' import json dic1 = {'k1': 'v1'} dic1_str = json.dumps(dic1) print(dic1, dic1_str) dic2 = json.loads(dic1_str) print(dic2) # 数字 字符串 列表 字典 元组(转成列表序列化,反序列化后成列表) dic1 = {'k1': 'v1', 'k2': '中国'} f = open('log', 'w', encoding='utf-8') json.dump(dic1, f, ensure_ascii=False) f.close() f = open('log', encoding='utf-8') ret = json.load(f) print(type(ret), ret) f.close() l1 = [{'k1': '111'}, {'k2': '222'}, {'k3': '333'}] f1 = open('log', 'w', encoding='utf-8') import json for dic in l1: dic_str = json.dumps(dic) f1.write(dic_str + '\n') f1.close() f2 = open('log') l = [] for line in f2: dic = json.loads(line.strip()) l.append(dic) f2.close() print(l) ''' from demo import money money = 100 print(money)