Python断言assert语句详解:语法、自定义报错与实战应用
本文详细介绍Python中assert断言语句的用法,包括基本语法格式、当表达式为False时触发AssertionError异常的机制,以及如何自定义报错提示信息。通过多个代码示例,展示assert在判断表达式、文件存在性检查及调试中的应用,帮助开发者高效定位程序错误。
Python中的断言(assert)语句
assert语句的基本语法格式为【assert 表达式,可选的返回数据】。当括号内的表达式计算结果为False时,程序会立即触发AssertionError异常并终止执行;若结果为True,则程序继续正常执行。
try:
n=input("请输入一个数字:")
assert n.isdigit(),"只能输入数字"
print("你输入的是:",n)
except Exception as ex:
print("发现错误:",ex)
Python断言报错机制解析
assert语句主要用于验证某个表达式的真假。如果表达式结果为False,则抛出AssertionError异常;如果结果为True,则不执行任何操作,程序继续运行。
代码示例1:基础断言测试

- 在In[1]中,执行assert 2>1,由于2大于1为True,断言通过,程序继续执行后续代码。
- 在In[2]中,执行assert 1>2,由于1大于2为False,断言失败,程序抛出AssertionError异常并中断执行。
1. 设置自定义断言报错信息
Python允许开发者在assert语句中自定义报错提示信息,以便更清晰地定位错误来源。其格式如下:
assert + 空格 + 待判断的表达式 + 逗号 + 自定义报错字符串
代码示例2:自定义报错信息

通过设置AssertionError的自定义提示语句为“常数比较大小出错”,当断言失败时,开发者可以迅速知晓具体是哪个环节出现了bug,便于快速排查。
实际应用小案例:使用assert判断文件是否存在。
import os
path_txt = "test.txt"
assert os.path.exists(path_txt), "Not found text.txt"假设程序路径中不存在test.txt文件,执行断言时将报错:
Traceback (most recent call last): File "F:/PycharmProjects/test_assert.py", line 3, in <module> assert os.path.exists(path_txt), "Not found text.txt" AssertionError: Not found text.txt
2. assert a,b 的另一种格式
还有一种常见的assert语法格式为 assert a,b。
该格式用于判断表达式a,如果a为False,则输出表达式b的值作为错误信息。
代码示例3:展示断言失败时的变量值

在报错提示AssertionError之后,输出了变量a的值1.2,帮助开发者了解失败时的具体数据状态。
代码示例4:展示断言失败时的变量类型

在报错提示AssertionError之后,输出了变量a的类型:<class ‘float’>,便于类型检查。
总结:assert语句是程序员设置报错提醒、及时中止程序并快速定位bug的有效工具。
以上为个人经验分享,希望能为大家提供参考,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













