python斷言語句assert


斷言語句的格式

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM