使用python會出現各類各樣的錯誤,如下是Python常見的錯誤以及解決方法。python
這個是剛遇到的問題,在LZ本身手打Inception net的時候,想賦一個名字的時候出錯,其實這就是命名錯誤的問題,若是仔細看「×」是我在中文下打的符號,python是不認的,解決方案是使用英文字母」x「代替,錯誤便可解決,並且也能看到使用的卷積核的大小。網絡
遇到這個問題簡直是要哭了,由於並非語法錯誤的問題,而是你代碼書寫規範的問題。由於Python是一個對代碼縮進很是敏感的語言,你的循環結構就多是依靠縮進的形式來表示的。最多見的問題就是TAB和space鍵的混用,這個是很容易報錯的,並且肉眼很難分辨出來,有的代碼編輯器能夠選擇顯示空格,即使是這樣,也很難找到到底哪裏有問題。編輯器
其實,上面的報錯還有一個緣由常常遇到,就是無首行縮進,例如寫if語句是,後面加冒號後若是直接換行,好的代碼編輯器會自動首行縮進,但有些代碼編輯器可能沒有這個功能,這是須要你手動縮進,這是最好養成習慣,不要連續敲幾回空格鍵,直接一下TAB就能夠了,保持代碼風格的一致在Python的使用中是很是重要的。ide
這個錯誤就是純粹的手誤問題了,你定義的函數中沒有這個關鍵字,這時候就要本身查看定義的函數名字,我這裏應該是」stride「,在卷積神經網絡是定義步長的。函數
這個問題是我在調用函數time.time()用來計算時間損耗時,使用的函數時報錯的,具體解決方案很簡單,只要在代碼開頭加上import time這句把time庫文件加進來就行了。spa
解決方案同上,from datetime import datetimecode
解決方案同上,import math索引
這一類問題主要是在Python代碼中有中文輸入,這個解決方案是在代碼開頭加上:#coding:utf-8。否則凡是輸入中文輸入法下的字符就會報錯。utf-8
import os
這裏須要注意幾個問題,若是直接使用import os的時候,那麼調用是就須要寫成os.listdir(),若是是使用from os import *,那麼是能夠直接使用listdir(),可是會出現模塊之間的命名衝突問題,對代碼的穩定性會有必定的影響,因此LZ建議若是對模塊函數還不是很熟悉的狀況下哈市使用第一種方法。ci
這個問題是python版本的問題
#若是使用的是python2 firstStr = myTree.keys()[0] #LZ使用的是python3 firstSides = list(myTree.keys()) firstStr = firstSides[0]
這是看決策樹代碼出現的問題,python3若是運行
firstStr = myTree.keys()[0]
就會報這個錯誤,解決辦法就是先轉換成list,再把須要的索引提取出來。
這個是若是小夥伴們修改了本身寫的module,在重載module時可能會出現的一個問題,解決方法還時很簡單
import importlib importlib.reload(your module)
我這裏先貼出它報錯的那行代碼是怎麼顯示的:
b = 6\xao
這個LZ以前講過通常出現ascii之類的問題就是混中文輸入法了,出現這個問題着實尷尬,爲何?肉眼哪能看出來是中文輸入法下的空格和英文輸入法下的空格/(ㄒoㄒ)/~~,這個只能看到底哪行報錯吧中文的空格替換成英文的空格才行,其它也沒啥辦法,最好在輸入代碼時少切換切換輸入法形式。
python版本問題,不兼容,python3版本的換成range()函數就好了。
這是說list沒有這個屬性,是啥問題呢?LZ手殘的把’,’打成了’.’,知道python應該都知道’.’這是要在class裏定義纔能有的性質,本身憑空寫是沒用的。
老生常談了,python的版本問題,python3.X要加()。
print ('hello world!')
這個問題就是無法解析Python的頭文件,解決方法仍是很簡單的。
#先更新下源啦 sudo apt-get update #安裝python-dev sudo apt-get install python-dev
缺乏模塊的解決仍是很好解決的,缺啥裝啥就好了
sudo apt-get install python-wxtools
Python接觸時間不是很長,暫時遇到的錯誤還不時不少,因此就先寫這麼多!