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