快速答案
本答案页包含 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 道题。