創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
在平邑等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,平邑網(wǎng)站建設(shè)費(fèi)用合理。小編給大家分享一下關(guān)于Python中對象序列化以及反序列化的案例分析,相信大部分人都還不怎么了解,因此分享這邊文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!
面對Python代碼中, 如果我們想用一個Class來進(jìn)行數(shù)據(jù)的序列化和反序列化的話, 可能用普通的方式會加大執(zhí)行過程, 如同我們有這樣的一個例子:
#!/usr/bin/env python # _*_ coding: UTF-8 _*_ class Data: params: None data = [ { 'params': 'Medusa' }, { 'params': 0 } ]
如果我們想把data用Data實(shí)例的方式組成數(shù)組, 你可能需要直接將數(shù)據(jù)進(jìn)行實(shí)例, 并將實(shí)例對象用列表裝載, 當(dāng)然了, 你可以進(jìn)行for循環(huán)進(jìn)行實(shí)例并添加到一個事先聲明的列表中, 那你可能想到生成器了, 更加簡單, 就可以實(shí)現(xiàn)該需求, 那我們試想一下, 怎么把我們生成的列表對象還原成data數(shù)據(jù)呢?
在Python代碼里面, 我們當(dāng)然可以實(shí)現(xiàn), 可能在實(shí)現(xiàn)方法上沒有那么美觀了。
這個時候我們需要這樣做:
python -m pip install attrs python -m pip install cattrs
安裝attrs和cattrs這兩個庫, 那我們怎么使用呢? 看例子:
#!/usr/bin/env python # _*_ coding: UTF-8 _*_ from attr import attrs, attrib from cattr import structure, unstructure @attrs class Data: params = attrib() data = { 'params': 'Medusa', } instance = structure(data, Data) json = unstructure(instance)
我們輸出一下instance和json的值:
# instance: Data(params='Medusa') # json: {'params': 'Medusa'}
以上是關(guān)于Python中對象序列化以及反序列化的案例分析的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!