欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python断言语句assert

程序员文章站 2022-03-21 21:28:13
断言语句的格式 test是一个表达式,表达式求值为 时引发AssertionError异常,msg是可选的异常消息。 运行test_assert( 10)程序将抛出异常: Traceback (most recent call last): File "M:/project/untitled1/te ......

断言语句的格式

assert test, [msg]

test是一个表达式,表达式求值为fals时引发assertionerror异常,msg是可选的异常消息。

def test_assert(a):
    """
    当输入的参数不大于0时断言抛出异常
    """
    assert a > 0, 'a需要大于0'
    print('a=', a)


test_assert(-10)

运行test_assert(-10)程序将抛出异常:
traceback (most recent call last):
file "m:/project/untitled1/testdatetime.py", line 788, in
main()
file "m:/project/untitled1/testdatetime.py", line 303, in main
test_assert(-10)
file "m:/project/untitled1/testdatetime.py", line 293, in test_assert
assert a > 0, 'a需要大于0'
assertionerror: a需要大于0

断言使用注意

  • 断言只能作为辅助调试手段使用,在表达式为false时抛出异常终止程序执行,不能在程序中代替条件判断语句,因为程序以优化方式运行时不会执行断言语句。
  • 添加-o参数程序运行在优化模式,不会输出断言
    python -o main.py