python中的assert

 

python assert的作用:
assert函数用于程序调试
Python 官方文档解释https://docs.python.org/3/reference/simple_stmts.html#assert

“Assert statements are a convenient way to insert debugging assertions into a program”

assert断言语句是将调试断言插入程序的一种方便方法。

使用assert断言语句是一个非常好的习惯,python assert断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行到最后崩溃,不如在出现错误条件时就崩溃,这样在跑大规模程序的时候不会过多的浪费时间和计算资源,这时候就需要assert断言的帮助。

1、The simple form:
assert expression
该形式用来测试断言的expression语句,如果expression是True,那么什么反应都没有。但是如果expression是False,那么会报错AssertionError,

例子:

assert 1==0
1
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-4-b09d6b060198> in <module>()
----> 1 assert 1==0,

AssertionError:
不出错时,什么反应都没有:

assert 1==1
1
2、The extended form:
assert expression1, expression2
1
assert断言语句可以添加异常参数,也就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:

assert expression [, arguments]
assert 表达式 [, 参数]

例子:

assert 1==0, "出错了"
1
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-4-b09d6b060198> in <module>()
----> 1 assert 1==0, "出错了"

AssertionError: 出错了


不出错时,依旧什么反应都没有:

assert 1==1, "出错了"
1
3、The Equivalent expression:
The simple form, 断言assert expression, 等价于:

if __debug__:
if not expression: raise AssertionError
————————————————
版权声明:本文为CSDN博主「我是管小亮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/TeFuirnever/article/details/88883859

 

================================================================================

assert 2>3, ("错误")
print("haha")

 

 

 如果断言处的表达式是错误的话,会打印assert后面的提示,并且下面的语句就不会执行了。

assert 2<3, ("错误")
print("haha")

如果断言处的语句是正确的话,则不会打印assert后面的提示,下面的语句正常执行。

 

posted on 2019-08-27 08:59  一杯明月  阅读(1763)  评论(0编辑  收藏  举报