Python基礎刻意訓練 DAY8

2021-09-29 03:23:26 字數 2027 閱讀 3269

學習內容

主要內容:異常處理

異常形式

含義assertionerror

斷言語句(assert)失敗

attributeerror

嘗試訪問未知的物件屬性

eoferror

使用者輸入檔案末尾標誌eof(ctrl+d)

floatingpointerror

浮點計算錯誤

generatorexit

generator.close()方法被呼叫的時候

importerror

匯入模組失敗的時候

indexerror

索引超出序列的範圍

keyerror

字典中查詢乙個不存在的關鍵字

keyboardinterrupt

使用者輸入中斷鍵(ctrl+c)

memoryerror

記憶體溢位(可通過刪除物件釋放記憶體)

oserror

作業系統產生的異常(例如開啟乙個不存在的檔案)

overflowerror

數值運算超出最大限制

runtimeerror

一般的執行時錯誤

f=

open

("我為什麼是乙個檔案.txt"

)##顯示filenotfounderror(檔案找不到)的異常a=1

+'1'

##顯示typeerror(型別異常)的異常

assert

1>

2##斷言異常

python捕捉異常的方式採用try語句:

基本格式:

try:

語句aexcept exception[

as reason]

: 出現異常後執行的**

finally

: 始終會被執行的語句

變形方式——

可以直接只寫except,但是這樣子會隱藏一定的錯誤資訊

寫多個except語句:程式將會根據遇到的異常順序,首先報出最先出現異常的異常,剩下的語句不執行,直接跳到結尾;而且,如果存在沒有被寫進的異常,程式將會自行報錯(採用的是程式自己的報錯方式)。

在同乙個except語句中,寫入多個可能出現的異常,如果滿足其中之一,將會執行這段**。

###多個except語句

try:

sum=1+

'1' f=

open

("我為什麼是乙個檔案.txt"

)print

(f.read())

except oserror as reason:

print

("檔案出錯啦!!\n原因是:"

+str

(reason)

)except typeerror as reason:

print

("型別出錯啦!!\n原因是:"

+str

(reason)

)finally

: f.close(

)###乙個except中含有多個異常預期

try:

sum=1+

'1' f=

open

("我為什麼是乙個檔案.txt"

)print

(f.read())

f.close(

)except

(oserror,typeerror)

:###也可以不用寫,採用直接寫except的方式

print

("出錯啦!!"

)finally

: f.close(

)

raise zerodivisionerror(

"除數為零"

)##會得到自發引起的異常的結果,也就是zerodivisionerror("除數為零")

raise

###raise 自身也可以直接引發異常

Python基礎刻意訓練 DAY10

學習內容 主要內容 類與物件 前言 類的存在使得整個程式得到了良好的封裝,同時,使得程式可以直接進行呼叫,而不是重複去書寫以前的 建立類的基本格式 class name 屬性 屬性名 相關數值 方法 def 函式名 變數 函式體 示例 class lsgo 類名 屬性 number 259 loca...

Python基礎刻意訓練 DAY12

學習內容 主要內容 模組 呼叫模組的方式 import 模組名 from 模組名 import 函式名 使用簡單的函式名 import 模組名 as 新名字 重新簡寫名字 最常用也是最簡單的方式 import turtle as tt 重新簡寫名字方便使用 tt.forward 20 ifname ...

python基礎刻意練習 day10

python基礎刻意練習 day10 檔案系統 我們所知道常用的作業系統有windows,mac os,linx,unix等,這些作業系統底層對於檔案系統的訪問工作原理是不一樣的,因此可能就要針對不同的系統來考慮使用哪些檔案系統模組。這樣是很麻煩的,因為這就意味著當程式的執行環境一改變,就要相應的去...