內建函式、迭代器和異常捕獲
內建函式
python直譯器自帶的函式就是內建函式,以下為幾個常見例子。
1.map() 對映
對映指的是資料的一一對應關係。
使用對映與匿名函式,可以簡單的將列表元素進行轉變。
2.zip() 拉鍊
zip的作用是將多個列表的元素按索引順序組合成一個元素,再放進一個列表裡。
3.max()和min() 最大和最小
max和min方法可以找出資料集中最大和最小的數。
如果是字串型別則按照ASCII碼錶來判斷。
此外,max和min方法通過和匿名函式配合,可以方便的找出字典中最大和最小的v值所對應的k值。
4.filter() 過濾
filter方法的作用是將資料按照某些條件篩選出來。
5.reduce() 歸總
reduce的作用將列表內的數字求和。
可迭代物件
迭代
迭代指不斷更新換代,每一次的更新都是基於上一次的結果。
迭代其實給了我們一種無需索引的取值方式。
可迭代物件
內建方法中有__iter__的都是可迭代物件。
有__iter__方法的包括:
字串,列表,字典,元組,集合,檔案。
這些全都被稱為可迭代物件。
可迭代物件呼叫__iter__就會變成迭代器物件。
關於雙下劃線開頭的方法
針對雙下滑線開頭 雙下滑線結尾的方法 最為專業標準的讀法為:
雙下方法名
雙下劃線開頭的方法都有一個簡單的呼叫方式:
方法名()
迭代器物件
迭代器物件指即含有__iter__方法又有__next__方法。
可迭代物件呼叫__iter__後就會變成迭代器物件。
檔案既是可迭代物件,優勢迭代器物件。
迭代器物件無論執行多少次__iter__方法還是迭代器物件本身。
迭代器物件為我們提供了一種無需索引的取值方式。
迭代器物件執行__next__方法其實就是在迭代取值。
需要注意的是,當迭代器物件沒有可取的值時,再進行迭代取值就會報錯。
異常捕獲
什麼是異常
程式碼執行出錯會導致異常,異常發生後如果沒有解決方案會直接結束整個程式。
異常的三個重要組成部分
1.traceback
翻到最下面從下往上的第一個藍色字型滑鼠左鍵點選即可跳轉到錯誤程式碼所在的行。
2.XXXEroor
意為錯誤的型別
3.錯誤型別冒號後的內容
錯誤的詳細原因(認真看可能就能找到解決方法)
錯誤的種類
1.語法錯誤
不被允許的錯誤,出現了應該立刻修改。
2.邏輯錯誤
是被允許的,出現了儘快修改即可。
程式設計師修改邏輯錯誤的過程就是從頭到尾理清思路的過程
基本語法結構
try:
優肯出錯的程式碼
except 錯誤型別 as e:
出錯之後的型別處理機制(e是錯誤的詳細資訊)
異常捕獲句式和萬能異常
1.萬能異常 Exception,可以用作所有型別的異常。
2.有可能出現錯誤的程式碼才需要被檢測。
3.被監測的程式碼越少越好。
4.異常捕獲的使用頻率越低越好。
for迴圈的本質
for迴圈內部原理
1.將關鍵字in後面的資料先呼叫__iter__方法轉為迭代器物件。
2.迴圈執行__next__方法。
3.取完之後__next__方法會報錯,然後利用異常捕獲機制捕獲該錯誤並處理。