快速答案
本答案頁包含 Python assert 測試 的 4 道選擇題、4 道填空題和 4 道輸出預測題,每題都給出準確答案和簡短解釋。
答案已完整展示,建議先嘗試作答,再用本頁核對。第一次練習最好從互動練習頁開始。
assert 條件為假時會發生什麼?
答案: 拋出 AssertionError
為什麼: 斷言失敗會拋出 AssertionError。
assert x == 3, 'x should be 3' 中逗號後面的部分是什麼?
答案: 附加在失敗上的訊息
為什麼: 第二個表達式會成為 AssertionError 的訊息。
用 -O 執行 Python 會對 assert 語句做什麼?
答案: 移除它們
為什麼: -O 參數會移除 assert,所以不能用它做安全檢查。
assert 適合用在哪裡?
答案: 測試和內部不變數
為什麼: 斷言用於記錄假設,不是使用者輸入驗證機制。
補全檢查求和的語句。
total = 2 + 2
____ total == 4
print("ok")答案: assert
為什麼: 關鍵字 assert 開始這個檢查。
補全訊息中的預期值。
total = 2 + 2
assert total == 4, "total should be ____"答案: 6
為什麼: 訊息應說明預期的總和。
補全例外型別。
try:
assert False
except ____ as error:
print("caught")答案: AssertionError
為什麼: 斷言失敗會拋出 AssertionError。
補全預期的平方值。
def square(n):
return n * n
assert square(3) == ____
print("ok")答案: 9
為什麼: 三的平方是九。
這段程式碼會輸出什麼?
assert 2 + 2 == 4
print("ok")答案: ok
為什麼: 斷言通過,所以下一行會執行。
執行結果是什麼?
def f(n):
return n * 2
assert f(3) == 6
print(f(3))答案: 6
為什麼: 函式回傳六,斷言通過。
這段程式列印出什麼?
try:
assert False, "bad"
except AssertionError as error:
print(error)答案: bad
為什麼: 逗號後的訊息會成為例外文字。
程式碼的輸出結果是什麼?
assert isinstance("x", str)
print("str")答案: str
為什麼: 字串通過 isinstance 檢查,所以會列印 str。
先試一遍題目
打開 Python assert 測試 練習頁,用即時回饋回答同樣的 12 道題。