在 Python 中,当使用 assert 语句时,如果条件不满足,则会引发 AssertionError 异常。默认情况下,程序会显示有关错误的文件名、行号和表达式的信息。但有时我们只想显示错误消息,而不是这些其他信息。我们可以在 AssertionError 异常的后面添加一个字符串来显示自定义的错误消息。例如:
x = 5
y = 6
assert x == y, "x 和 y 不相等"
运行此代码时,如果 x 不等于 y,则会引发 AssertionError 异常并显示错误消息“x 和 y 不相等”。
另外,如果您想完全禁用 AssertionError 异常的默认行为,并仅显示自定义错误消息,可以通过在代码开头添加以下内容来实现:
import sys
assertion_formatter = lambda _, __, *args, **kwargs: (args[0] + '\n')
sys.displayhook = assertion_formatter
这将使用 lambda 函数来覆盖 sys.displayhook,并返回 AssertionError 异常的错误消息。