日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

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

作者:睿科知識云 ? 更新時間: 2022-05-26 編程語言

一、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:\Users\mengma\Desktop\file.py", line 3, in 
? ? assert 0 <= mathmark <= 100
AssertionError

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

原文鏈接:https://ruikezhishiyun.blog.csdn.net/article/details/123683049

欄目分類
最近更新