python中的斷言(assert語句)
python斷言assert語句
assert語句的格式是【assert 表達式,返回數(shù)據(jù)】,當表達式為False時則觸發(fā)AssertionError異常
try: n=input("請輸入一個數(shù)字:") assert n.isdigit(),"只能輸入數(shù)字" print("你輸入的是:",n) except Exception as ex: print("發(fā)現(xiàn)錯誤:",ex)
assert:python斷言報錯語句
assert用于判斷一個表達式,在表達式結果為 False 的時候觸發(fā)異常。若表達式結果為True,則不做任何反應。
代碼示例1:
- In[1]中 assert 2>1 判斷為True,所以可以繼續(xù)執(zhí)行下面的程序。
- In[2]中 assert 1>2 判斷為False,所以報錯AssertionError,程序中斷。
1.設置assert報錯語句
python也支持自己設置AssertionError的提示語句。格式為:
assert + 空格 + 要判斷語句,“報錯語句”
代碼示例2:
設置AssertionError的報錯提示語句為“常數(shù)比較大小出錯”,在執(zhí)行這條語句報錯時候就可以很快知道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。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python正則爬取某段子網(wǎng)站前20頁段子(request庫)過程解析
這篇文章主要介紹了python正則爬取某段子網(wǎng)站前20頁段子(request庫)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08Python爬蟲利用cookie實現(xiàn)模擬登陸實例詳解
這篇文章主要介紹了Python爬蟲利用cookie實現(xiàn)模擬登陸實例詳解的相關資料,需要的朋友可以參考下2017-01-01使用pyqt5 實現(xiàn)ComboBox的鼠標點擊觸發(fā)事件
這篇文章主要介紹了使用pyqt5 實現(xiàn)ComboBox的鼠標點擊觸發(fā)事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03pandas中apply和transform方法的性能比較及區(qū)別介紹
這篇文章主要介紹了pandas中apply和transform方法的性能比較,在文中給大家講解了apply() 與transform()的相同點與不同點,需要的朋友可以參考下2018-10-10