Python語言基礎(chǔ)(四)

對象的序列化

序列化是將對象的狀態(tài)信息轉(zhuǎn)換為可以存儲(chǔ)或傳輸?shù)男问降倪^程。在序列化期間,對象將其當(dāng)前狀態(tài)寫入到臨時(shí)或持久性存儲(chǔ)區(qū)。以后,可以通過從存儲(chǔ)區(qū)中讀取或反序列化對象的狀態(tài),重新創(chuàng)建該對象。

在Python中,這種序列化過程稱為pickle,可以將對象pickle成字符串、磁盤上的文件或者任何類似于文件的對象,也可以將這些字符串、文件或類似于文件的對象unpickle成原來的對象。

通過pickle模塊實(shí)現(xiàn)基本的數(shù)據(jù)序列和反序列化。

將對象序列化成字符串

import pickle

lista = ['C++','C','Java','Python']

listb = pickle.dumps(lista)

#將字符串反序列化成對象

listc = pickle.loads(listb)

將對象序列化到文件

pickle.dump(被序列化的對象,文件對象)

文件對象 = open(文件名,訪問模式,buffering)

#將對象序列化到文件

output =open('data.pkl','wb')

pickle.dump(lista,output)

output.close()

#從文件data.pkl反序列化

f =open('data.pkl','rb')

list = pickle.load(f)

print(list)

f.close()

使用pickle.load()方法可以將使用pickle.dump()方法得到的文件反序列化成原來的對象

Python序列解包:

就是將序列中存儲(chǔ)的值指派給各個(gè)變量(被解包的序列里的元素?cái)?shù)量必須與左側(cè)的變量數(shù)量相同,否則會(huì)報(bào)異常)

鏈?zhǔn)劫x值:

可以一次性將一個(gè)值指派給多個(gè)變量

異常處理語句:

使用異常處理語句可以捕獲到異常情況,并進(jìn)行處理,從而避免程序異常退出。

#異常處理語句

try:

i =10

? ? print(30/(i-10))

except Exception as e:

print(e)

finally:

print("執(zhí)行完成")


函數(shù)

當(dāng)使用列表或字典作為函數(shù)參數(shù)時(shí),在函數(shù)內(nèi)部對列表或字典的元素所進(jìn)行的操作會(huì)影響調(diào)用函數(shù)的實(shí)參

函數(shù)參數(shù)可以設(shè)置默認(rèn)值,并且有默認(rèn)值的參數(shù)只能出現(xiàn)在沒有默認(rèn)值的參數(shù)后面。

可變長參數(shù):

當(dāng)參數(shù)以*開頭時(shí),表示可變長參數(shù)將被視為一個(gè)元組

#可變長參數(shù)

def func1(*t):

print("可變長參數(shù)數(shù)量如下:")

print(len(t))

print("依次為:")

for iin range(len(t)):

print(t[i])

func1(1,2,3,4)

調(diào)用函數(shù)直接使用函數(shù)名來調(diào)用

Python實(shí)行按值傳遞參數(shù)。值傳遞指調(diào)用函數(shù)時(shí)將常量或變量的值(通常稱為實(shí)參)傳遞給函數(shù)的參數(shù)(通常稱為形參)

注意:當(dāng)使用列表或字典作為函數(shù)參數(shù)時(shí),在函數(shù)內(nèi)部對列表或字典的元素進(jìn)行的操作會(huì)影響調(diào)用函數(shù)的實(shí)參。



參數(shù)的默認(rèn)值

python中可以為函數(shù)的參數(shù)設(shè)置默認(rèn)值??梢栽诙x函數(shù)時(shí),直接在參數(shù)后面使用"="為其設(shè)置默認(rèn)值。在調(diào)用函數(shù)時(shí),可以不指定擁有默認(rèn)值的參數(shù)的值,此時(shí)在函數(shù)體中以默認(rèn)值作為該參數(shù)。

注意:有默認(rèn)值的參數(shù)只能出現(xiàn)在沒有默認(rèn)值的參數(shù)的后面。

Python還支持可變長度的參數(shù)列表??勺冮L參數(shù)可以是元組或字典。當(dāng)參數(shù)以*開頭時(shí),表示可變長參數(shù)將被視為一個(gè)元組。

在調(diào)用函數(shù)時(shí),也可以不指定可變長參數(shù),此時(shí)可變長參數(shù)是一個(gè)沒有元素的元組字典

當(dāng)參數(shù)以**開頭時(shí),表示可變長參數(shù)將被視為一個(gè)字典

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容