python中的斷言(assert語句)
python斷言assert語句
assert語句的格式是【assert 表達(dá)式,返回?cái)?shù)據(jù)】,當(dāng)表達(dá)式為False時(shí)則觸發(fā)AssertionError異常
try:
n=input("請(qǐng)輸入一個(gè)數(shù)字:")
assert n.isdigit(),"只能輸入數(shù)字"
print("你輸入的是:",n)
except Exception as ex:
print("發(fā)現(xiàn)錯(cuò)誤:",ex)
assert:python斷言報(bào)錯(cuò)語句
assert用于判斷一個(gè)表達(dá)式,在表達(dá)式結(jié)果為 False 的時(shí)候觸發(fā)異常。若表達(dá)式結(jié)果為True,則不做任何反應(yīng)。
代碼示例1:

- In[1]中 assert 2>1 判斷為True,所以可以繼續(xù)執(zhí)行下面的程序。
- In[2]中 assert 1>2 判斷為False,所以報(bào)錯(cuò)AssertionError,程序中斷。
1.設(shè)置assert報(bào)錯(cuò)語句
python也支持自己設(shè)置AssertionError的提示語句。格式為:
assert + 空格 + 要判斷語句,“報(bào)錯(cuò)語句”
代碼示例2:

設(shè)置AssertionError的報(bào)錯(cuò)提示語句為“常數(shù)比較大小出錯(cuò)”,在執(zhí)行這條語句報(bào)錯(cuò)時(shí)候就可以很快知道bug出在哪。
實(shí)際應(yīng)用的小例子:assert判斷文件是否存在。
import os path_txt = "test.txt" assert os.path.exists(path_txt), "Not found text.txt"
程序路徑中沒有test.txt文件,因此會(huì)報(bào)錯(cuò):
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
表示判斷表達(dá)式 a ,如果為 False,則輸出表達(dá)式 b 的 值。
代碼示例3:

在報(bào)錯(cuò)提示 AssertionError 的后面輸出了 a 的值 1.2
代碼示例4:

在報(bào)錯(cuò)提示 AssertionError 的后面輸出了 type(a) :<class ‘float’>
總結(jié):assert語句可以幫助程序員設(shè)置報(bào)錯(cuò)提醒,及時(shí)中止程序,找到bug。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python+Selenium+Pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別
- python assert斷言的實(shí)例用法
- Python中優(yōu)雅使用assert斷言的方法實(shí)例
- Python實(shí)現(xiàn)OCR識(shí)別之pytesseract案例詳解
- python pytesseract庫(kù)的實(shí)例用法
- 解決Python3.8運(yùn)行tornado項(xiàng)目報(bào)NotImplementedError錯(cuò)誤
- Python Tornado核心及相關(guān)原理詳解
- Python Tornado之跨域請(qǐng)求與Options請(qǐng)求方式
- Python Tornado 實(shí)現(xiàn)SSE服務(wù)端主動(dòng)推送方案
相關(guān)文章
Django2.2配置xadmin的實(shí)現(xiàn)
這篇文章主要介紹了Django2.2配置xadmin的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Python爬蟲包 BeautifulSoup 遞歸抓取實(shí)例詳解
這篇文章主要介紹了Python爬蟲包 BeautifulSoup 遞歸抓取實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01
Python機(jī)器學(xué)習(xí)k-近鄰算法(K Nearest Neighbor)實(shí)例詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)k-近鄰算法(K Nearest Neighbor),結(jié)合實(shí)例形式分析了k-近鄰算法的原理、操作步驟、相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2018-06-06
Python學(xué)習(xí)筆記之解析json的方法分析
這篇文章主要介紹了Python解析json的方法,結(jié)合實(shí)例形式分析了常見的Python解析與轉(zhuǎn)換json格式數(shù)據(jù)相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法
這篇文章主要介紹了python實(shí)現(xiàn)在pickling的時(shí)候壓縮的方法,比較具有實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09
Python?pandera數(shù)據(jù)驗(yàn)證和清洗的庫(kù)
為了確保數(shù)據(jù)的質(zhì)量,Python Pandera 庫(kù)應(yīng)運(yùn)而生。本文將深入介紹 Python Pandera,這是一個(gè)用于數(shù)據(jù)驗(yàn)證和清洗的庫(kù),并提供豐富的示例代碼,幫助大家充分利用它來提高數(shù)據(jù)質(zhì)量2024-01-01
Python?selenium安裝+Microsoft?Edge驅(qū)動(dòng)器下載配置流程(最新推薦)
本文介紹了如何在Python自動(dòng)化Web瀏覽器背景下配置MicrosoftEdge瀏覽器驅(qū)動(dòng),主要內(nèi)容包括查看瀏覽器版本、下載對(duì)應(yīng)驅(qū)動(dòng)、配置環(huán)境以及安裝和驗(yàn)證Selenium庫(kù),感興趣的朋友一起看看吧2025-02-02
關(guān)于PySnooper 永遠(yuǎn)不要使用print進(jìn)行調(diào)試的問題
這篇文章主要介紹了關(guān)于PySnooper 永遠(yuǎn)不要使用print進(jìn)行調(diào)試的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

