目录

Python中的断言(Assertions in Python)

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

想到断言的最简单方法是将它比作一个raise-if语句(或者更准确,即使是if-if-not语句)。 测试表达式,如果结果为false,则引发异常。

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

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

The assert 语句

遇到assert语句时,Python会对伴随的表达式求值,这有望成为现实。 如果表达式为false,则Python会引发AssertionError exception

assert的语法是 -

assert Expression[, Arguments]

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

例子 (Example)

这是一个将温度从开尔文度转换为华氏度的函数。 由于开尔文的零度和它一样冷,如果看到负温度,该功能就会失效 -

#!/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!
↑回到顶部↑
WIKI教程 @2018