Python 中的断言

pythonserver side programmingprogramming

断言是一种健全性检查,您可以在完成程序测试后将其打开或关闭。

理解断言的最简单方法是将其比作 raise-if 语句(或者更准确地说,raise-if-not 语句)。测试表达式,如果结果为假,则引发异常。

断言由 assert 语句执行,assert 语句是 Python 1.5 版中引入的最新关键字。

程序员通常将断言放在函数的开头以检查输入是否有效,并在函数调用之后检查输出是否有效。

assert 语句

当遇到 assert 语句时,Python 会评估随附的表达式,希望该表达式为真。如果表达式为假,Python 会引发 AssertionError 异常。

assert 的语法为 −

assert Expression[, Arguments]

如果断言失败,Python 将使用 ArgumentExpression 作为 AssertionError 的参数。AssertionError 异常可以像任何其他异常一样使用 try-except 语句进行捕获和处理,但如果不处理,它们将终止程序并产生回溯。

示例

这是一个将温度从开尔文度转换为华氏度的函数。由于零开尔文温度是最冷的,因此如果函数看到负温度 −,它就会退出。

#!/usr/bin/python
def KelvinToFahrenheit(Temperature):
assert (Temperature >= 0),"Colder than absolute zero!"
return ((Temperature-273)*1.8)+32
print KelvinToFahrenheit(273)
print int(KelvinToFahrenheit(505.78))
print KelvinToFahrenheit(-5)

输出

执行上述代码时,会产生以下结果 −

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in <module>
print KelvinToFahrenheit(-5)
File "test.py", line 4, in KelvinToFahrenheit
assert (Temperature >= 0),"Colder than absolute zero!"
AssertionError: Colder than absolute zero!

相关文章