day12-課堂總結(jié)

1.什么是json數(shù)據(jù)

json是一種數(shù)據(jù)格式,滿足json格式的數(shù)據(jù)就是json數(shù)據(jù)。
文件后綴是.json,并且文件中內(nèi)容滿足json格式

2.json格式

一個(gè)json中只有一個(gè)數(shù)據(jù);并且這個(gè)數(shù)據(jù)是json支持的數(shù)據(jù)類型的數(shù)據(jù)

json支持的數(shù)據(jù)類型
數(shù)字類型 - 包含所有的數(shù)字,包括整數(shù)和小數(shù),例如100, 12.5, -20....
字符串 - 使用雙引號(hào)括起來的字符集,例如: "1230", "abc123"...
布爾 - true和false
數(shù)組 - 相當(dāng)于python中列表,使用中括號(hào)括起來,括號(hào)里面是
任意類型的數(shù)據(jù)(json支持的數(shù)據(jù))例如:["abc", 100, true],[12,89,76]
字典 - 相當(dāng)于python中的字典,使用{}括起來,括號(hào)里面是鍵值對(duì),
鍵一般是字符串,值是json支持的任意類型的數(shù)據(jù)
特殊值 - null(相當(dāng)于None),表示空

3.python中有一個(gè)內(nèi)置的模塊用來支持對(duì)json數(shù)據(jù)的處理:json

a.將json數(shù)據(jù)轉(zhuǎn)換成python數(shù)據(jù)
loads(字符串) - 將json格式的數(shù)據(jù)轉(zhuǎn)換成python對(duì)應(yīng)的數(shù)據(jù)
注意:這兒的字符串的內(nèi)容必須是json格式的數(shù)據(jù)
json python
數(shù)字 整數(shù)/浮點(diǎn)型
字符串 字符串(雙引號(hào)會(huì)變單引號(hào))
布爾 布爾(true -> True, false->False)
數(shù)組 列表
字典 字典
null None

b.將python數(shù)據(jù)轉(zhuǎn)換成json數(shù)據(jù)
dumps(數(shù)據(jù)) - 將python數(shù)據(jù)轉(zhuǎn)換成內(nèi)容符合json格式的字符串

注意:最終結(jié)果是字符串

python json
inf/float 數(shù)字
字符串 字符串(單引號(hào)會(huì)變雙引號(hào))
布爾 布爾(True->true, False->false)
列表/元組 數(shù)組

3.json文件操作相關(guān)方法

load(文件對(duì)象) - 將文件對(duì)象中的數(shù)據(jù)讀出來,并且轉(zhuǎn)換成python對(duì)應(yīng)的數(shù)據(jù)
(文件對(duì)象中的內(nèi)容必須是json格式的數(shù)據(jù))
dump(數(shù)據(jù),對(duì)象) - 將python數(shù)據(jù)轉(zhuǎn)換成json格式的字符串,在寫入文件對(duì)象中

1.什么是異常

程序執(zhí)行過程中出現(xiàn)錯(cuò)誤,也叫出現(xiàn)異常

2.異常捕獲

讓本來會(huì)出現(xiàn)異常的位置,不出現(xiàn)異常,而是自己去處理異常出現(xiàn)的情況

3.怎么捕獲異常

情況一:捕獲所有的異常

語(yǔ)法:
try:
代碼段1
except:
代碼段2

執(zhí)行過程:執(zhí)行代碼段1,如果代碼段1中出現(xiàn)異常,不會(huì)崩潰,而是馬上執(zhí)行代碼段2
如果代碼段1沒有異常,不會(huì)執(zhí)行代碼段2

情況二:捕獲指定的異常

a.語(yǔ)法
try:
代碼段1
except 錯(cuò)誤類型名:
代碼段2

b.執(zhí)行過程:執(zhí)行代碼段1,當(dāng)代碼段1出現(xiàn)指定類型的異常后不奔潰,而是執(zhí)行代碼段2

情況三:同時(shí)捕獲多個(gè)異常,對(duì)不同的異常做出相同的反應(yīng)

try:
代碼段1
except (錯(cuò)誤類型1,錯(cuò)誤類型2,錯(cuò)誤類型3....):
代碼段2

執(zhí)行過程:執(zhí)行代碼段1,當(dāng)代碼段1中出現(xiàn)了指定的異常,不崩潰,然后執(zhí)行代碼段2

情況四:同時(shí)捕獲多個(gè)異常,對(duì)不同的異常做出不同的反應(yīng)
try:
代碼段1
except 錯(cuò)誤類型1:
代碼段2
except 錯(cuò)誤類型2:
代碼段3
.....

4.try-except-finally

try:
代碼段1
except:
代碼段2
finally:
代碼段3

不管代碼段1中是否出現(xiàn)異常,也不管異常是否能夠捕獲到,finally后面的代碼段3都會(huì)執(zhí)行

什么時(shí)候使用異常捕獲:

明明知道某段代碼可能會(huì)出現(xiàn)異常,但是又沒有辦法避免,就使用異常捕獲
拋出異常:主動(dòng)讓程序出現(xiàn)異常

語(yǔ)法:
raise:錯(cuò)誤類型 - 程序執(zhí)行到raise的時(shí)候直接拋出異常

注意:錯(cuò)誤類型必須是一個(gè)類,并且這個(gè)類是Exception的子類

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

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

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