python中的斷言(assert語句)
python斷言assert語句
assert語句的格式是【assert 表達式,返回數據】,當表達式為False時則觸發AssertionError異常
try: n=input("請輸入一個數字:") assert n.isdigit(),"隻能輸入數字" print("你輸入的是:",n) except Exception as ex: print("發現錯誤:",ex)
assert:python斷言報錯語句
assert用於判斷一個表達式,在表達式結果為 False 的時候觸發異常。若表達式結果為True,則不做任何反應。
代碼示例1:
- In[1]中 assert 2>1 判斷為True,所以可以繼續執行下面的程序。
- In[2]中 assert 1>2 判斷為False,所以報錯AssertionError,程序中斷。
1.設置assert報錯語句
python也支持自己設置AssertionError的提示語句。格式為:
assert + 空格 + 要判斷語句,“報錯語句”
代碼示例2:
設置AssertionError的報錯提示語句為“常數比較大小出錯”,在執行這條語句報錯時候就可以很快知道bug出在哪。
實際應用的小例子:assert判斷文件是否存在。
import os path_txt = "test.txt" assert os.path.exists(path_txt), "Not found text.txt"
程序路徑中沒有test.txt文件,因此會報錯:
Traceback (most recent call last):
File "F:/PycharmProjects/test_assert.py", line 3, in <module>
assert os.path.exists(path_txt), "Not found text.txt"
AssertionError: Not found text.txt
2.assert a,b
還有一種格式是 assert a,b
表示判斷表達式 a ,如果為 False,則輸出表達式 b 的 值。
代碼示例3:
在報錯提示 AssertionError 的後面輸出瞭 a 的值 1.2
代碼示例4:
在報錯提示 AssertionError 的後面輸出瞭 type(a) :<class ‘float’>
總結:assert語句可以幫助程序員設置報錯提醒,及時中止程序,找到bug。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python assert斷言聲明,遇到錯誤則立即返回問題
- Python常見異常類型處理
- Python的基本語法詳解
- Python基礎入門之魔法方法與異常處理
- Python文件系統模塊pathlib庫