python tab和空格混用_Python编程常见十大错误,看完你自己都笑了!
關注并置頂【檸檬班】的小哥哥小姐姐
胸有成“豬”
使用python會出現各種各樣的錯誤,以下是Python常見的錯誤以及解決方法。
?01?ValueError
ValueError: ‘Conv2d_1a_3×3’ is not a valid scope name
其實這就是命名錯誤的問題,
如果仔細看“×”是我在中文下打的符號,python是不認的。
解決方案是使用英文字母”x“代替,錯誤即可解決。
?02?IndentationError
IndentationError:excepted an indented block
遇到這個問題簡直是要哭了,
因為并不是語法錯誤的問題,而是你代碼書寫規范的問題。
因為Python是一個對代碼縮進非常敏感的語言,你的循環結構就可能是依靠縮進的形式來表示的。
最常見的問題就是TAB和space鍵的混用,
這個是很容易報錯的,而且肉眼很難分辨出來。
有的代碼編輯器可以選擇顯示空格,即便是這樣,也很難找到到底哪里有問題。?
其實,上面的報錯還有一個原因經常遇到,就是無首行縮進。
例如:寫if語句是,后面加冒號后如果直接換行,好的代碼編輯器會自動首行縮進,
但有些代碼編輯器可能沒有這個功能,這是需要你手動縮進。
這是最好養成習慣,不要連續敲幾次空格鍵,直接一下TAB就可以了,
保持代碼風格的一致在Python的使用中是非常重要的。
?03 TypeError
TypeError: max_pool2d() got an unexpected keyword argument ‘atride’
這個錯誤就是純粹的手誤問題了。
你定義的函數中沒有這個關鍵字,
這時候就要自己查看定義的函數名字,我這里應該是”stride“,
在卷積神經網絡是定義步長的。
?04 NameError
NameError: global name ‘time’ is not defined
這個問題是我在調用函數time.time()用來計算時間損耗時,
使用的函數時報錯的。
具體解決方案很簡單,
只要在代碼開頭加上import time,把time庫文件加進來就好了。
?05 Python中出現類似ascii之類的報錯
這一類問題主要是在Python代碼中有中文輸入,
這個解決方案是在代碼開頭加上:#coding:utf-8。
不然凡是輸入中文輸入法下的字符就會報錯。
?06 NameError
NameError: global name ‘listdir’ is not defined
import os 這里需要注意幾個問題,
如果直接使用import os的時候,那么調用是就需要寫成os.listdir(),
如果是使用from os import *,那么是可以直接使用listdir(),
但是會出現模塊之間的命名沖突問題,
對代碼的穩定性會有一定的影響,
所以建議如果對模塊函數還不是很熟悉的情況下還是使用第一種方法。
?07 TypeError
TypeError: ‘dict_keys’ object does not support indexing
這個問題是python版本的問題
?08 NameErro
NameError: name ‘reload’ is not defined?
這個是如果小伙伴們修改了自己寫的module,
在重載module時可能會出現的一個問題。
解決方法如下:
?09 AttributeError
AttributeError: ‘list’ object has no attribute ‘testVec’
這是說list沒有這個屬性,是啥問題呢?
LZ手殘的把’,’打成了’.’,知道python應該都知道’.’
這是要在class里定義才能有的性質,自己憑空寫是沒用的。
?10 SystemError
SystemError: cannot compile ‘Python.h’
這個問題就是沒法解析Python的頭文件,
解決方法還是很簡單的。
本文轉載自檸檬班社區,
未經允許謝絕轉載
?http://www.lemfix.com/topics/142?
?
- END -
今天的分享就到這里了
看完本文有收獲?請轉發分享給更多人
總結
以上是生活随笔為你收集整理的python tab和空格混用_Python编程常见十大错误,看完你自己都笑了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java抽组件_Java实现的基于模板的
- 下一篇: javascript 嵌入python_