python之assert
2022-09-30 本文已影响0人
每天进步一点点变成更好的自己
什么是assert
python的assert是一个debug的工具,主要用于测试一个条件是否满足。
条件满足:类似于执行了pass的动作,什么也不做。
条件不满足:抛出异常AssertionError,并返回具体的错误信息(option)。
assert语法:assert_stmt ::= "assert" expression ["," expression]
实例:
assert 1 == 2
类似下面2句
if __debug__:
if not expression: raise AssertionError
assert 1 == 2, 'assertion is wrong'
# 输出AssertionError: assertion is wrong
类似下面2句
if __debug__: #__debug__是一个常数。
if not expression1: raise AssertionError(expression2)
错误演示,assert后面不能加括号,加了括号assert检查永远不会fail,只会SyntaxWarning。
assert(1 == 2, 'This should fail')
# 输出
<ipython-input-8-2c057bd7fe24>:1: SyntaxWarning: assertion is always true, perhaps remove parentheses?
assert(1 == 2, 'This should fail')
2.assert的用法
assert通常是用来对代码进行必要的self check,表明你很确定这种情况一定发生,或者一定不会发生。使用assert时,一定不要加上括号,否则无论表示对或错,assert检查永远不会fail。程序中的assert,可以通过-o 等选项被全局disable。