描述及用法
断言语句等价于这样的 Python 表达式,如果断言成功不采取任何措施,否则触发
AssertionError
(断言错误)的异常。AssertionError
异常和其他的异常一样可以用try-except
语句块捕捉,但是如果没有捕捉,它将终止程序运行而且提供一个traceback。
code example
try:
assert 1 == 0, 'One does not equal zero silly!'
except AssertionError, args:
print '%s: %s' % (args.__class__.__name__, args)
断言可用作参数类型检查
def function(word):
assert isinstance(word, basestring), 'argument must be a string!'
print u'断言后的语句被调用'
function(u'') # 布尔表达式正确,断言不触发
function(12) # 布尔表达式错误,断言被触发,程序运行半途终止。