什么是 assert?
它的具体语法是下面这样的:
assert_stmt ::= "assert" expression ["," expression]复制代码
一个简单形式的assert expression,比如下面这个例子:
assert 1 == 2复制代码
它就相当于下面这两行代码:
if __debug__: if not expression: raise AssertionError复制代码
再来看assert expression1, expression2的形式,比如下面这个例子:
assert 1 == 2, 'assertion is wrong'复制代码
它就相当于下面这两行代码:
if __debug__: if not expression1: raise AssertionError(expression2)复制代码
一定记住,不要在使用 assert 时加入括号,比如下面这个例子:
assert(1 == 2, 'This should fail')# 输出:1: SyntaxWarning: assertion is always true, perhaps remove parentheses? assert(1 == 2, 'This should fail')复制代码
正确的写法,应该是下面这种不带括号的写法:
assert 1 == 2, 'This should fail'# 输出AssertionError: This should fail复制代码