Python程式設計中一些常見的錯誤和處理方法

回憶不說話發表於2018-07-10

1.關於return的用法

return 是不能在方法以外使用的,如果用在了方法以外的話,就會出現下面這種錯誤。

 

count = 0

while True:
   
    count +=1
    
    if count ==10:
      
        return

報錯資訊為:SyntaxError: 'return' outside function

解決辦法:將return換成break。break是用來結束迴圈的。示例如下:

    

count = 0

while True:

    count +=1

    if count ==10:

        break

print(count)

輸出結果是:10.

2.型別錯誤

 

name = '小張'

age = 5

print('我的名字是' + name + ',我的年齡是' + age)

報錯:TypeError: must be str, not int

這是型別錯誤,提示必須是一個字串,不能是數字

解決方法:在使用“+”做拼接的時候,必須使用字串,或者把數字轉化成字串。

示例如下:

 

name = '小張'

age = '5'

print('我的名字是' + name + ',我的年齡是' + age)

3.語法錯誤

if name == '小李'

    print('Hello')

 


 

報錯資訊為: SyntaxError: invalid syntax

提示為:語法錯誤,非法的語法。

當報錯的時候,要注意回到錯誤資訊的那一行,然後從下往上,慢慢查詢,此處這個程式就是因為If語法忘了在判斷語句後面加“:”,所以導致的錯誤。

4.縮排錯誤

報錯資訊為:IndentationError: unindent does not match any outer indentation level

提示:縮排錯誤,未知縮排不匹配任何縮排等級

解決辦法:使用“tab”鍵自動縮排

 

5.索引錯誤

 

list1 = [2,3,4,5,6]

print(list1[7])

報錯資訊:IndexError: list index out of range

提示:索引錯誤,列表索引超出了範圍。

解決辦法:回頭看列表的長度,索引是要小於列表的長度的。上面的列表長度是5,而索引卻要列印第七個,所以是超出了列表的長度。

6.值錯誤

 

content = 'hello world'

result = content.index('a')

print(result)

報錯資訊:ValueError: substring not found

提示:值錯誤,子字串未找到

解決辦法:重新檢視字串中的所有字元,看是否是自己索要列印的子字元不在字串中。

7.屬性錯誤

 

tp1 = ((),[],{},1,2,3,'a','b','c',3.14 ,True)

tp1.remove(1)

print(tp1)

報錯資訊:AttributeError: 'tuple' object has no attribute 'remove'

提示:屬性錯誤:元組物件沒有屬性'remove'

8.型別錯誤

 

dic1 = {1,2,3,4,}

dic1.pop()

print(dic1)

報錯資訊:TypeError: pop() takes no arguments (1 given)

提示:pop方法希望得到至少一個引數,但是現在引數為0

解決方法:給pop方法新增一個引數。

9.連線資料庫錯誤。

(1366, "Incorrect string value: '\\xF0\\x9F\\x99\\x8F\\x0A\\xE6...' for column 'text' at row 1")

連線方式改為:

'CHARSET':'utf8mb4_general_ci',

10.使用驗證碼過程中可能遇見的三個錯誤以及解決方法。

使用驗證碼遇到的問題
1.RuntimeError: Model class captcha.models.CaptchaStore doesn't declare anexplicit app_label and isn't in an application in INSTALLED_APPS.
在settings裡註冊
2.在專案裡面urls進行設定
Make sure you\'ve included captcha.urls a
s explained in the INSTALLATION section on http://readthedocs.org/docs/django-simple-captcha/en/latest/usage.html#installation'

3.no such table
重新模型遷移

相關文章