Python pass語(yǔ)句作用和Python assert斷言函數(shù)的用法
一、Python pass語(yǔ)句
在實(shí)際開(kāi)發(fā)中,有時(shí)候我們會(huì)先搭建起程序的整體邏輯結(jié)構(gòu),但是暫時(shí)不去實(shí)現(xiàn)某些細(xì)節(jié),而是在這些地方加一些注釋,方面以后再添加代碼,
請(qǐng)看下面的例子:
age = int( input("請(qǐng)輸入你的年齡:") ) if age < 12 : ? ? print("嬰幼兒") elif age >= 12 and age < 18: ? ? print("青少年") elif age >= 18 and age < 30: ? ? print("成年人") elif age >= 30 and age < 50: ? ? #TODO: 成年人 else: ? ? print("老年人")
當(dāng)年齡大于等于 30 并且小于 50 時(shí),我們沒(méi)有使用 print() 語(yǔ)句,而是使用了一個(gè)注釋,希望以后再處理成年人的情況。當(dāng) Python 執(zhí)行到該 elif 分支時(shí),會(huì)跳過(guò)注釋,什么都不執(zhí)行。
但是 Python 提供了一種更加專業(yè)的做法,就是空語(yǔ)句 pass
。pass 是 Python 中的關(guān)鍵字,用來(lái)讓解釋器跳過(guò)此處,什么都不做。
就像上面的情況,有時(shí)候程序需要占一個(gè)位置,或者放一條語(yǔ)句,但又不希望這條語(yǔ)句做任何事情,此時(shí)就可以通過(guò) pass 語(yǔ)句來(lái)實(shí)現(xiàn)。使用 pass
語(yǔ)句比使用注釋更加優(yōu)雅。
使用 pass 語(yǔ)句更改上面的代碼:
age = int( input("請(qǐng)輸入你的年齡:") ) if age < 12 : ? ? print("嬰幼兒") elif age >= 12 and age < 18: ? ? print("青少年") elif age >= 18 and age < 30: ? ? print("成年人") elif age >= 30 and age < 50: ? ? pass else: ? ? print("老年人")
運(yùn)行結(jié)果:
請(qǐng)輸入你的年齡:40↙
從運(yùn)行結(jié)果可以看出,程序雖然執(zhí)行到第 10 行代碼,但是并沒(méi)有進(jìn)行什么操作。
二、Python assert斷言函數(shù)
Python assert
語(yǔ)句,又稱斷言語(yǔ)句,可以看做是功能縮小版的 if 語(yǔ)句,它用于判斷某個(gè)表達(dá)式的值,如果值為真,則程序可以繼續(xù)往下執(zhí)行;反之,Python 解釋器會(huì)報(bào) AssertionError
錯(cuò)誤。
assert 語(yǔ)句的語(yǔ)法結(jié)構(gòu)為:
assert 表達(dá)式
assert 語(yǔ)句的執(zhí)行流程可以用 if 判斷語(yǔ)句表示,如下所示:
if 表達(dá)式==True:
程序繼續(xù)執(zhí)行
else:
程序報(bào) AssertionError 錯(cuò)誤
有讀者可能會(huì)問(wèn),明明 assert
會(huì)令程序崩潰,為什么還要使用它呢?這是因?yàn)?,與其讓程序在晚些時(shí)候崩潰,不如在錯(cuò)誤條件出現(xiàn)時(shí),就直接讓程序崩潰,這有利于我們對(duì)程序排錯(cuò),提高程序的健壯性。
因此,assert 語(yǔ)句通常用于檢查用戶的輸入是否符合規(guī)定,還經(jīng)常用作程序初期測(cè)試和調(diào)試過(guò)程中的輔助工具。
三、Python assert斷言函數(shù)用法
下面的程序演示了 assert 語(yǔ)句的用法:
mathmark = int(input()) #斷言數(shù)學(xué)考試分?jǐn)?shù)是否位于正常范圍內(nèi) assert 0 <= mathmark <= 100 #只有當(dāng) mathmark 位于 [0,100]范圍內(nèi),程序才會(huì)繼續(xù)執(zhí)行 print("數(shù)學(xué)考試分?jǐn)?shù)為:",mathmark)
運(yùn)行該程序,測(cè)試數(shù)據(jù)如下:
90
數(shù)學(xué)考試分?jǐn)?shù)為: 90
再次執(zhí)行該程序,測(cè)試數(shù)據(jù)為:
159 Traceback (most recent call last): ? File "C:\Users\mengma\Desktop\file.py", line 3, in <module> ? ? assert 0 <= mathmark <= 100 AssertionError
可以看到,當(dāng) assert
語(yǔ)句后的表達(dá)式值為真時(shí),程序繼續(xù)執(zhí)行;反之,程序停止執(zhí)行,并報(bào) AssertionError
錯(cuò)誤。
到此這篇關(guān)于Python pass語(yǔ)句作用和Python assert斷言函數(shù)的用法的文章就介紹到這了,更多相關(guān)pass語(yǔ)句和 assert斷言函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何基于Python實(shí)現(xiàn)電子郵件的發(fā)送
這篇文章主要介紹了如何基于Python實(shí)現(xiàn)電子郵件的發(fā)送,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12keras自動(dòng)編碼器實(shí)現(xiàn)系列之卷積自動(dòng)編碼器操作
這篇文章主要介紹了keras自動(dòng)編碼器實(shí)現(xiàn)系列之卷積自動(dòng)編碼器操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Jupyter notebook 啟動(dòng)閃退問(wèn)題的解決
這篇文章主要介紹了Jupyter notebook 啟動(dòng)閃退問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04Python實(shí)現(xiàn)圖形用戶界面和游戲開(kāi)發(fā)的方法和技巧
GUI圖形用戶界面編程,我們可以通過(guò)python提供的豐富的組件,快速的實(shí)現(xiàn)使用圖形的界面和用戶交互, GUI編程類似于“搭積?”,將?個(gè)個(gè)組件(Widget)放到窗?中,這篇文章主要給大家介紹了基于Python的GUI圖形用戶界面編程的相關(guān)資料,需要的朋友可以參考下2023-05-05python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法
這篇文章主要介紹了python實(shí)現(xiàn)掃描局域網(wǎng)指定網(wǎng)段ip的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04Python 實(shí)現(xiàn)向word(docx)中輸出
今天小編就為大家分享一篇Python 實(shí)現(xiàn)向word(docx)中輸出,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02