斷言

凡是用print()來輔助查看的地方,均可以用斷言(assert)來替代python

使用assert和print()均可以打印信息,可是assert的好處就是若是不想輸出信息到控制檯時,能夠經過設定參數-O的方式來禁止輸出信息spa

而print()卻只能經過註釋的方式來禁止輸出code

 

使用斷言
若是斷言失敗,assert語句自己就會拋出AssertionErrorblog

    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來看io

python -O err.py #:斷言的開關「-O」是英文大寫字母O,不是數字0
相關文章
相關標籤/搜索