无涯教程-Python - Assertions in Python函数

52 阅读1分钟

断言是一种健全的检查,当您完成对程序的测试时,您可以打开或关闭它。

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

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

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

The assert Statement

当遇到Assert语句时,Python会计算相应的表达式,希望是真的。如果表达式为false,Python将引发AssertionError异常。

Assert语法是−

assert Expression[, Arguments]

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

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!

参考链接

www.learnfk.com/python/asse…