Python模塊、序列化模塊
阿新 • • 發佈:2018-09-04
優點 內置模塊 輸入 內置 安裝使用 雙引號 用戶輸入 用戶需求 定義
一、模塊
模塊就是寫好的功能放在一個文件裏,即py文件
模塊的種類:
① 內置模塊:安裝python解釋器的時候就裝上了
② 第三方模塊、擴展模塊:不在內置模塊不一定不重要,根據用戶需求安裝使用
③ 自定義模塊:自己寫的py文件
二、序列化模塊
序列:列表、元組、字符串、bytes
序列化:把一個數據類型轉換成字符串、bytes類型的過程就是序列化
數據類型序列化的場景:
① 把一個數據類型存儲在文件中
② 把一個數據類型通過網絡傳輸的時候
eval和exec:用戶輸入,文件讀入,網絡傳入都不能使用,存在風險,極其不安全。
import json # 導入json模塊
在json格式下,所欲的字符串都是雙引號。
json.dumps(obj) 序列化的過程,轉換為字符串
import json # 導入json模塊 dic = {‘province‘:‘廣東省‘,‘city‘:‘深圳市‘} s = json.dumps(dic) # 序列化的過程 print(s,type(s)) # {"province": "\u5e7f\u4e1c\u7701", "city": "\u6df1\u5733\u5e02"} <class ‘str‘>
json.loads(str) 反序列化的過程,轉換為原本的類型
import json # 導入json模塊 dic = {‘province‘:‘廣東省‘,‘city‘:‘深圳市‘} s = json.dumps(dic) # 序列化的過程 dic2 = json.loads(s) # 反序列化的過程 print(dic2,type(dic2)) # {‘province‘: ‘廣東省‘, ‘city‘: ‘深圳市‘} <class ‘dict‘>
json的優點:
① 所有的語言都通用
json的缺點:
① 只支持非常少的數據類型
② 對數據類型的約束很苛刻
③ 字典的key必須是字符串
④ 只支持數據類型:數字、字符串、列表、字典
Python模塊、序列化模塊