1.什麼是json
"""
json是一種資料格式;幾乎所有的高階語言都支援這種資料格式的處理,
所以json主要用於不同語言之間的資料交流。
"""
2.json格式
"""
json格式的要求:1)乙個json有且只有乙個資料
2)唯一的這個資料必須是json支援的資料型別的資料
json支援的資料型別:
1)數字型別(number) - 所有數字對應的型別,表示的時候直接寫。例如:100, -102, 12.3, 3e3
2)字串(string) - 用雙引號引起來的字符集(只能是雙引號),"abc", "abc\n123", "\ue400abc"
3)布林(boolean) - 只有 true 和 false 兩個值
4)陣列(array) - 相當於python的列表
5)字典(dictionary) - 相當於python中的字典,key只能是字串
6)空值 - null,相當於python的none
"""
3.json資料和python資料之間的相互轉換
python中提供了乙個json模組,專門用來提供處理json資料相關的函式
1)json資料轉python資料
"""
json -> python
數字 -> int/float
字串 -> 字串(可能會將雙引號變成單引號)
布林 -> 布林(首字母變成大寫字母)
陣列 -> 列表(元素也會進行相應的轉換)
字典 -> 字典(元素也會轉換)
null -> none
json.loads(json格式的字串) - 將json格式的字串轉換成對應的python資料;
json格式的字串:字串內容滿足json格式
"""
result = json.loads(
'"abc"'
)print
(result,
type
(result)
)# abc
result = json.loads(
'100'
)print
(result,
type
(result)
)result = json.loads(
'["abc", 10, 123, true, null]'
)print
(result)
# ['abc', 10, 123, true, none]
result = json.loads('')
print
(result)
#
# json資料,,
,,,,
,,,]
}
# 例項1:json檔案資料解析,取出title中的內容
with
open
('data.json'
, encoding=
'utf-8'
)as f:
result = f.read(
)re = json.loads(result)
for i in re[
'newslist']:
print
(i['title'
])
2)python資料轉json資料
"""
python -> json
int 數字
float 數字
字串 字串(引號會變成雙引號)
布林 布林(true -> true;false -> false)
列表、元組 陣列(元素也會自動轉換)
字典 字典(key全部自動變成字串)
none null
json.dumps(python資料) - 將指定的python資料轉換成json格式的字串
"""
result = json.dumps(10)
print
(type
(result),10
)# 10
result = json.dumps([10
,12.3
,'abc'
,none
,true])
print
(result)
# '[10, 12.3, "abc", null, true]'
result = json.dumps(
)print
(result)
#
1.什麼是異常
異常就是錯誤(程式報錯就是程式出現異常)
執行程式的過程中如果出現異常,程式會直接結束(實際上是執行緒結束)
2.什麼是異常捕獲
"""
1)異常捕獲就是讓程式在出現異常的時候,不崩潰繼續執行。
2)不是任何異常都可以捕獲的,只有在明知道某段**會出現異常但是又不能或者不方便通過修改**來避免這個異常,
這個時候就可以對異常捕獲。
"""
3.怎麼捕獲異常
"""
方法一:捕獲**段1中所有異常
try:
需要捕獲異常的**段-**段1
except:
捕獲到異常後會執行的**段
finally:
**塊其他**
執行過程:先執行try裡面的**段,執行過程中如果出現異常,程式不崩潰,馬山執行except後面的**段,執行完後執行其他**;
如果執行try裡面的**段沒有出現異常,except後面的**不會執行,直接執行其他**
# 方法二:捕獲指定異常
try:
需要捕獲異常的**段
except 異常型別:
捕獲到指定異常後會執行的**段
finally:
**塊# 方法三:同時捕獲多種異常,針對不同的異常做相同的處理
try:
需要捕獲異常的**段
except (異常型別1, 異常型別2, ...):
捕獲到指定異常後會執行的**段
finally:
**塊# 方法四:同時捕獲多種異常,針對不同的異常做不同的處理
try:
需要捕獲異常的**段
except 異常型別1:
捕獲到指定異常後會執行的**段
except 異常型別2:
捕獲到指定異常後會執行的**段
...finally:
**塊"""
# 方法一
try:
age =
int(
input
('請輸入年齡:'))
except
:print
('輸入年齡的格式不正確!'
)
# 方法二
try:
list1 =[10
,20]print
(list1[10]
)except indexerror:
print
('出現異常'
)
# 4.finally - 寫遺書,程式崩潰前的最後一次掙扎
try:
list1 =[10
,20]print
(list1[10]
)except keyerror:
print
('出現異常'
)finally
:print
('我還要掙扎一下'
)
5.丟擲異常 - 主動讓程式崩潰
raise異常型別
異常型別可以是系統異常型別也可以是自定義的異常型別
def
func1
(age:
int)
:if age <
0or age >
150:
raise valueerror
if age >=18:
print
('成年人'
)else
:print
('未成年'
)func1(
-1534
)# valueerror
PYTHON小白 第十四天
python小白 第十四天 1 方法 方法是類或物件的行為特徵的抽象,但python方法其實也是函式,其定義方式 呼叫方式和函式都非常相似,因此python方法並不僅僅是單純的方法,它與函式也有莫大的關係。1.1 類也能呼叫例項方法 python的類在很大程度上是乙個命名空間 當程式在類體中定義變數...
python學習 第十四天
在下這廂有禮了 python正規表示式 python通過re模組提供對正規表示式的支援。使用re的一般步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果 乙個match例項 最後使match例項獲得資訊,進行其他的操作。encoding utf ...
學習python 第十四天
python 傳送電子郵件 訪問 http協議,傳送郵件要使用smtp。smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議...