首頁 > 軟體

Python pass語句作用和Python assert斷言函數的用法

2022-03-24 10:00:12

一、Python 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:
    #TODO: 成年人
else:
    print("老年人")

當年齡大於等於 30 並且小於 50 時,我們沒有使用 print() 語句,而是使用了一個註釋,希望以後再處理成年人的情況。當 Python 執行到該 elif 分支時,會跳過註釋,什麼都不執行。

但是 Python 提供了一種更加專業的做法,就是空語句 pass。pass 是 Python 中的關鍵字,用來讓直譯器跳過此處,什麼都不做。

就像上面的情況,有時候程式需要佔一個位置,或者放一條語句,但又不希望這條語句做任何事情,此時就可以通過 pass 語句來實現。使用 pass 語句比使用註釋更加優雅。

使用 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("老年人")

執行結果:

請輸入你的年齡:40↙

從執行結果可以看出,程式雖然執行到第 10 行程式碼,但是並沒有進行什麼操作。

二、Python assert斷言函數

Python assert 語句,又稱斷言語句,可以看做是功能縮小版的 if 語句,它用於判斷某個表示式的值,如果值為真,則程式可以繼續往下執行;反之,Python 直譯器會報 AssertionError 錯誤。

assert 語句的語法結構為:

assert 表示式

assert 語句的執行流程可以用 if 判斷語句表示,如下所示:

if 表示式==True:
    程式繼續執行
else:
    程式報 AssertionError 錯誤

有讀者可能會問,明明 assert 會令程式崩潰,為什麼還要使用它呢?這是因為,與其讓程式在晚些時候崩潰,不如在錯誤條件出現時,就直接讓程式崩潰,這有利於我們對程式排錯,提高程式的健壯性。

因此,assert 語句通常用於檢查使用者的輸入是否符合規定,還經常用作程式初期測試和偵錯過程中的輔助工具。

三、Python assert斷言函數用法

下面的程式演示了 assert 語句的用法:

mathmark = int(input())
#斷言數學考試分數是否位於正常範圍內
assert 0 <= mathmark <= 100
#只有當 mathmark 位於 [0,100]範圍內,程式才會繼續執行
print("數學考試分數為:",mathmark)

執行該程式,測試資料如下:

90
數學考試分數為: 90

再次執行該程式,測試資料為:

159
Traceback (most recent call last):
  File "C:UsersmengmaDesktopfile.py", line 3, in <module>
    assert 0 <= mathmark <= 100
AssertionError

可以看到,當 assert 語句後的表示式值為真時,程式繼續執行;反之,程式停止執行,並報 AssertionError 錯誤。

到此這篇關於Python pass語句作用和Python assert斷言函數的用法的文章就介紹到這了,更多相關pass語句和 assert斷言函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com