随笔 - 1762  文章 - 0  评论 - 109  阅读 - 431万

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   一杯明月  阅读(1897)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示