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。

上一篇下一篇

猜你喜欢

热点阅读