學Python時,我們總是會遇到一些奇奇怪怪的問題。為了避免您也會遇到此類問題,我們選取了《Python實戰圈》的部分常見錯誤彙總。閒話不多說,直接上乾貨。
點擊關注,私信發送“資料”“Python”就可獲得Python學習資料
具體如下:
'xxx' is not defined
原因: 此類問題是因為 沒有定義變量
解決方法: 定義錯誤提出的變量,本例子中 添加add變量
SyntaxError: invalid syntax
原因: 此類因為 代碼不符合python語法格式
解決方法:找到錯誤的語句,然後根據python定義修改語法。本例子中,def 沒有空格 與init
python註釋不需要反斜槓/
原因:您肯定是老碼農,java 或者c語言轉過來的。python的註釋代碼是 #或者"""
解決方法:去掉/ 。
注意事項:學習python的時候,一定要忘記java等其他語言的語法
Unresovled referrence 'self'
原因:python語法是以冒號結尾,而不是分號。該類問題也是老程序員常見的問題,java 等語言的結束需要; 而python是冒號
解決方法:修改分號為冒號
‘str’ object is not callable
原因:可能你前面有str變量,不要用關鍵字作為變量名
解決方法:找到str的變量名,然後修改名字
點擊關注,私信發送“資料”“Python”就可獲得Python學習資料
縮進問題
和其他語言的語法最大的不同就是,Python不能用括號來表示語句塊,也不能用開始或結束標誌符來表示,而是靠縮進來區分代碼塊的。
常見的錯誤用法:
(1)
print('Hello')
print('World!')
錯誤是第二行的縮進會導致兩個print語句是包含和被包含的關係,但他們兩者是屬於同一個代碼塊的,所以應該寫成;
print('Hello')
print('World!')
(2)
if spam == 42:
print('Hello')
print('World!')
錯誤是第三行的縮進,改正的方法有兩種,一是如果兩個print語句是屬於同一代碼塊的,應該改正為
if spam == 42:
print('Hello')
print('World!')
二是如果第三行的print語句是和if語句是同一級的,則改正為
if spam == 42:
print('Hello')
print('World!')
(3)在Python 3中,縮進的時候,不能Tab和空格混用,每個縮進層次應該選擇只使用Tab或者只使用空格。
閱讀更多 新啟創意 的文章