断言是一个理智检查,可以打开或关闭在程序做测试时。
断言的最简单的方法是将其比喻为触发-if语句(或者更准确,触发,如果未声明)。一个表达式进行测试,如果结果出现false,将引发异常。
断言是由assert语句,最新的关键字是Python版本1.5引入的。
程序员常常放置在一个函数来检查的有效输入开始断言和函数调用后检查有效输出。
assert语句:
当它遇到一个assert语句,Python计算表达式。如果表达式为false,Python会引发一个AssertionError异常。
断言的语法是:
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!
|
|
708 次浏览 |
14次 |
|
捐助 |
|
|