对于程序开发人员来说, 断言的使用保证了程序的正确性. 使用断言来确定程序的先决条件是断言的一种用法, 结合着异常处理, 完全可以写出严谨而又不失灵活性的的程序. 相对于其他语言, Python也提供了异常和断言这两种工具, 下面我就分享一下我使用断言+异常的一点心得:
断言在Python中的表现形式如下:
Assert(表达式), "输出语句"
Python会计算表达式的真值, 若为真, 则继续程序执行, 若为假, 则输出:
AssertionError: 输出语句
并且程序的执行会被终止.
AssertionError是可以被try...except...语句块截获的, 请看下面这段程序:
try:
num = raw_input("Enter a number:")
assert (num == "10"), "The number is not 10!"
except AssertionError:
print ("Sadly, num not equals to 10")
断言会抛出AssertionError, 但因为try...except...的存在, 程序会忽略assert函数的默认行为, 从而进入到except语句块执行指定的语句. 那么, 联想到Java的try...catch...finally...语句块, 我们其实也可以用Python实现一样的功能. finally所执行的清理工作可以由except...所指定的代码进行代替.
上面就是一个断言和异常在Python中的小技巧, 谢谢大家.