>> if for i in range(3)File " ", line 1if for i in range(3) ^SyntaxError: invalid syn ">
IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
1、錯誤
錯誤一般是指語法錯誤(SyntaxError)。當(dāng)Python解釋器檢測到不正確的語句時,就會發(fā)生語法錯誤:
>>> if for i in range(3)
File "
if for i in range(3)
^
SyntaxError: invalid syntax
if關(guān)鍵字和for關(guān)鍵字連在一起,是一定會有語法錯誤的。當(dāng)發(fā)生錯誤(或異常)時,Python解釋器會給出一些提醒,以便開發(fā)者發(fā)現(xiàn)錯誤的位置及錯誤類型。對于上例,分析如下:
①語法分析器會指出是哪個文件出了錯誤,這個示例中是"
②隨后指出錯誤發(fā)生在第幾行,這個示例中是line1,代表第一行。
③用“^”指出發(fā)生錯誤的具體位置,這個示例是由于if和for挨在一起。
④最后一行指出錯誤類型,這個示例中是SyntaxError,代表語法錯誤。
⑤最后指出錯誤的詳細說明,這個示例中是invalid syntax。
語法錯誤是初學(xué)者比較容易犯的錯誤,常見的語法錯誤如下:
①在非字符串字面量中使用中文字符(全角字符)。Python語法的構(gòu)成元素全部是英文字符(半角字符)。
②縮進錯誤,詳見第三章。
③缺少必要的冒號。
④括號未配對,一般表現(xiàn)為只有左括號而缺少右括號。
⑤缺少必要的空格,漢字是一個挨著一個輸入的,但是英文單詞不可以,單詞之間需要使用空格。
2、異常
即使代碼在語法上是完全正確的,但是在執(zhí)行時也可能會引發(fā)錯誤,書中出現(xiàn)的絕大部分代碼演示中的錯誤均是如此:
>>> 3 / 0 # 除以零異常
Traceback (most recent call last):
File "
ZeroDivisionError: division by zero
>>> numbers = [1, 2, 3]
>>> numbers[3] # 列表索引異常
Traceback (most recent call last):
File "
IndexError: list index out of range
>>> fruits = ('apple', 'banana')
>>> fruits[2] # 元組索引異常
Traceback (most recent call last):
File "
IndexError: tuple index out of range
這種能通過語法檢查,但在運行時檢測到的錯誤稱為異常(Exceptions)。當(dāng)Python程序引發(fā)異常時,必須立即處理該異常,否則程序?qū)⒔K止并退出。異常消息的最后一行指出了異常類型和異常的詳細說明。異常有不同的類型,并且該類型作為消息的一部分進行打印。上述示例中的異常類型分別為ZeroDivisionError、IndexError和IndexError。這兩種異常都是Python中內(nèi)建的,稱為內(nèi)建異常。
內(nèi)建的異常有很多種類型,分別對應(yīng)不同的異常情況。Python中常見的異常類型如表所示。
更多內(nèi)容
>>本文地址:http://www.yiyunku.cn/zhuanye/2021/69431.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個方向的工作?