1. 程式人生 > >Python資料物件的編碼和解碼,json和pickle模組,base64模組的簡單使用

Python資料物件的編碼和解碼,json和pickle模組,base64模組的簡單使用

1.面向物件
物件:生活中的客觀事物

類:對事物的抽象,在程式碼中實現class型別
類屬性:這類事物具有的特點或者屬性
類方法:這類事物具有的行為,可以實現的方法

例項:使用之前對類的例項化之後的結果

例項屬性:物件具有的一些描述物件或者形容物件的屬性,物件具體具有的特性

例項方法:物件具有的方法,行為動作

1.檢視物件所擁有的方法
dir(物件) 例如 print(dir(列表))
1.類中的例項(類)屬性和方法命名風格
屬性:名詞 方法:動詞

2.Python中萬物皆物件
_物件名,物件私有化,只能在當前模組檔案使用,無法在其他模組匯入該物件
__xx:雙前置下劃線,避免與子類中的屬性命名衝突,無法在外部直接訪問(名字重整所以訪問不到),
子類無法繼承到,屬於類物件私有屬性

2.可迭代物件(for...in...這類語句迭代讀取一條資料)
from collections import Iterable
可以使用 isinstance() 判斷一個物件是否是 Iterable 物件
列表元組字典集合字串都是可迭代物件
具備了__iter__方法的物件,就是一個可迭代物件
1.可迭代物件 for in 的本質
for item in Iterable 迴圈的本質就是先通過iter()函式獲取可迭代物件Iterable的迭代器Iterator,
然後對獲取到的迭代器不斷呼叫next()方法來獲取下一個值並將其賦值給item,
當遇到StopIteration的異常後迴圈結束。
3.資料型別編碼位元組
字串可以使用encode,列表元組數字字典可以使用pickle模組進行轉化
4.python內建模組 json和pickle的用法
1.json可以用於字串或者字典等與python資料型別之間的序列化與反序列化操作(跨語言)
pickle可以用於python特有型別與python資料型別之間的序列化與反序列化操作(python)
2.json和pickle都具有四個方法
dumps,dump loads.load
3.使用json.dumps方法可以將python字典列表等資料格式化成一個字串,這樣可以方便別的程式語言進行呼叫
json.loads()把一個json格式的字串轉化為字典列表等
4.pickle.dumps() 將python資料序列化為bytes型別
pickle.loads() 將bytes型別資料反序列化為python的資料型別
encode() decode()轉碼只針對於字串
5.python內建模組base64的用法
import base64
python標準庫中提供了base64模組,用來進行轉換
base64.b64encode() 將bytes型別資料進行base64編碼,返回編碼後的bytes型別
base64.b64deocde() 將base64編碼的bytes型別進行解碼,返回解碼後的bytes型別