1. 程式人生 > >Python模塊、序列化模塊

Python模塊、序列化模塊

優點 內置模塊 輸入 內置 安裝使用 雙引號 用戶輸入 用戶需求 定義

一、模塊

模塊就是寫好的功能放在一個文件裏,即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模塊、序列化模塊