其他錯誤

AssertError

assert 語句幾乎存在於每種程式語言中。當你這樣做時:

assert condition

要麼:

assert condition, message

它相當於:

if __debug__:
    if not condition: raise AssertionError(message)

斷言可以包含可選訊息,你可以在完成除錯後禁用它們。

注意 :內建變數 debug 在正常情況下為 True,在請求優化時為 False(命令列選項 -O)。除錯的分配是非法的。直譯器啟動時確定內建變數的值。

一個 KeyboardInterrupt

使用者按下中斷鍵時出錯,通常為 Ctrl + C 或 del。

ZeroDivisionError

你試圖計算未定義的 1/0。請參閱此示例以查詢數字的除數:

Python 2.x <= 2.7
div = float(raw_input("Divisors of: "))
for x in xrange(div+1): #includes the number itself and zero
    if div/x == div//x:
        print x, "is a divisor of", div
Python 3.x >= 3.0
div = int(input("Divisors of: "))
for x in range(div+1): #includes the number itself and zero
    if div/x == div//x:
        print(x, "is a divisor of", div)

它提升了 ZeroDivisionError,因為 for 迴圈將該值賦給 x。相反它應該是:

Python 2.x <= 2.7
div = float(raw_input("Divisors of: "))
for x in xrange(1,div+1): #includes the number itself but not zero
    if div/x == div//x:
        print x, "is a divisor of", div
Python 3.x >= 3.0
div = int(input("Divisors of: "))
for x in range(1,div+1): #includes the number itself but not zero
    if div/x == div//x:
        print(x, "is a divisor of", div)