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

断言

程序员文章站 2022-03-28 18:21:07
凡是用print()来辅助查看的地方,都可以用断言(assert)来替代 使用断言 如果断言失败,assert语句本身就会抛出AssertionError 关闭断言 程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动Python解释器时可以用-O参数来关闭assert 断 ......

凡是用print()来辅助查看的地方,都可以用断言(assert)来替代

  

使用断言
如果断言失败,assert语句本身就会抛出assertionerror

    def foo(s):
        n = int(s)
        assert n != 0,'n is zero!' #assert的意思是,表达式n != 0应该是true,否则,根据程序运行的逻辑,后面的代码肯定会出错
        return 10 / n

    def main():
        foo('0')
    
    main()  
    
    #输出;
    traceback (most recent call last):
    ...
    assertionerror: n is zero!

 

 

关闭断言
程序中如果到处充斥着assert,和print()相比也好不到哪去。不过,启动python解释器时可以用-o参数来关闭assert
断言关闭后,你可以把所有的assert语句当成pass来看

python -o err.py #:断言的开关“-o”是英文大写字母o,不是数字0