如果你正在處理大型程序,這個講座將很重要。
您將學習通過異常塊和使用 Python 中的註釋來處理錯誤。
例外
我們將學習如何處理 Python 程序中的錯誤。 讓我們從編寫一個從終端獲取用戶年齡的小程序開始。
age = int(input('Age'))
print(age)
讓我們運行它。
現在,看看這個程序的退出代碼。 退出代碼 0 表示我們的程序成功終止並且沒有錯誤。 但是如果我們再次運行這個程序,而不是輸入一個數值,而是輸入一個字符串呢?
我們得到一個值錯誤,他的消息“invalid literal for int() with base 10” 基本上這條消息告訴我們的是這個字符串“qwe”不包含可以轉換為整數的有效家庭號碼。 現在,看看這個程序的退出代碼。 退出代碼 1 意味著我們的退出代碼崩潰了,所以 0 總是意味著成功,除了 0 之外的任何東西都意味著崩潰。 在編程中,我們將這種錯誤稱為異常。
作為一個優秀的 Python 程序員,你應該預料到這種情況。 您不希望因為用戶輸入了無效值而讓整個程序崩潰。 因此,您應該處理這種情況並打印正確的錯誤消息,而不是讓程序崩潰。 這就是我將在本次講座中向您展示的內容。
在 Python 中,我們有一個名為 try except
用於處理錯誤情況。
try:
age = int(input('Age'))
print(age)
這兩行代碼是我們的一部分 try:
堵塞。 我們將添加 except
用我們預期的錯誤類型阻止它。
except ValueError:
print('Invalid Value')
如果出現值錯誤,它現在將返回字符串“Invalid Value”。
讓我們通過改變以前的程序來檢查另一種錯誤。
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
現在,如果我們運行這個程序並在年齡中輸入“0”,一個數值。 因此,從技術上講,我們不應該有任何例外。
讓我們運行它。
看一看。 我們的程序崩潰了,並且出現了“除零錯誤”,因為我們不能將一個數字除以 0。再次查看退出代碼。 我們無法用這個 except 塊捕獲這種錯誤或這種異常。
這個 except 塊只捕獲類型值錯誤的異常,我們需要一個新的 except 塊來處理零除法錯誤。 讓我們相應地修改程序。
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
問題已經解決了!
- 語法錯誤
- 類型錯誤
- 名稱錯誤
- 索引錯誤
- 值錯誤
- 零除法錯誤
- 屬性錯誤
- 運行時錯誤
- 密鑰錯誤
- 內存錯誤
- 斷言錯誤
- 縮進錯誤
- 錯誤
- 浮點錯誤
- 溢出錯誤
- 邏輯錯誤
- 系統錯誤
- 未實現錯誤
- 錯誤
- 錯誤
- 參考錯誤
- Unicode錯誤
- 算術錯誤
- Unicode解碼錯誤
- Unicode編碼錯誤
- Unicode翻譯錯誤
- 運行時錯誤
作為程序員,您應該了解程序中的所有異常,並相應地處理它們。
留言
現在,我們將討論python中的註釋。 我們使用註釋向我們的程序添加註釋或註釋,以提高可讀性並向閱讀我們代碼的人傳達一些信息。
可以使用# 符號在程序中寫入註釋。 您在 # 之後編寫的所有內容都將被 Python 編譯器忽略並且不會被執行。 您可以在單獨的行上以及在一行代碼之後添加註釋。
通過這些註釋,我們可以解釋我們的代碼,我們可以將它們用作修復或清理問題的提醒,或者我們可以使用它們與閱讀我們代碼的其他開發人員進行交流,或解釋我們為什麼編寫此代碼某種方式。 這些是使用註釋的好用例。 我們也可以多行註釋。 每行應以新的# 符號開頭。 現在使用註釋時需要避免的一件事是解釋代碼的作用。
下面是一個差評的例子:
這是一個不好的評論,因為它告訴我顯而易見的事情。 它告訴我下一行將打印“Sun sets in the West”。 現在這個評論的問題是,如果你來這裡把西改東,除了冗長和重複之外,這個評論已經過時了。 因此,每次更新代碼時,我們都必須返回並修改相應的註釋。
簡而言之,使用您的評論來回答如何和為什麼而不是什麼。
這是一個很好的評論的例子:
在第一條評論中,我提醒自己在完成程序之前我需要更新這個收入值,第二個值是告訴其他閱讀我的代碼的開發人員,這個程序沒有處理所有錯誤。
最後,您應該避免多餘的註釋,並且您的註釋應該為您的代碼增加一些價值。
包起來!
異常和註釋是編程中經常被忽視的兩個方面,它們的重要性通常被低估了。
讓你的程序崩潰幾乎和不在需要的地方評論你的代碼一樣糟糕。 下一節課將重點介紹類和構造函數。
發表評論