在這篇文章中,我將總結新老Python程序員常犯的一些錯誤,以幫助大家在本身的工做避免犯一樣或相似錯誤。程序員
首先我要說明一下的是,這些都是來源於第一手的經驗。我以講授Python的知識爲生。在過去的7年裏,我已經給上千名學生講授上百堂Python的課程,同時看着這些學生們犯一樣的錯。也就是說,這些是我看着Python初學者活生生犯的錯,千百次的錯。編程
事實上,這些錯誤實在是太廣泛了以致於我敢保證你剛開始學的時候是必定會犯的。編程語言
「那麼是什麼呢?」你會問,「你也會在Python裏犯那麼多錯麼?」是的。Python多是最簡單、最靈活的語言之一,但它終究仍是一門編程語言。它仍然有語法,數據類型,以及巫師蒂姆居住的黑暗角落。學習
典故出自《蒙蒂派森與聖盃》中的魔法師蒂姆,他主角們指點在洞穴的牆壁上記錄的聖盃位置,做者在此處的意思是Python語言裏容易犯錯的地方。另,Python語言得名於做者Guido van Rossum特別喜歡的《蒙蒂派森飛行馬戲團(Monty Python’s Flying Circus)》——譯者注ui
好事情是多虧了Python那乾淨的設計,一旦你學會了Python,你就能自動的避開不少陷阱。Python在其各組件之間有着最小的互動,這能有效的減小bug。它也擁有十分簡單的語法,這意味着在一開始你就有更小的機率犯錯。當你實在是犯了錯的時候,Python的即時錯誤檢測和報告能幫你迅速的恢復。設計
但用Python編程也不是個自動完成的活兒,不少事仍是要早作準備。那麼廢話很少說了,讓咱們直切正題。在接下來的三節裏咱們將這些錯誤分爲語用、代碼,以及編程三個大類。基礎
若是你想讀到更多的Python的常見錯誤以及如何避免它們,那麼在O’Reilly系列叢書的《Python學習手冊》(原書第5版)裏有詳細的解讀。數據類型
01 語用錯誤語法
讓咱們從基礎開始,從那些剛學習編程的人鑽研語法以前碰到的事情開始。若是你已經編過一些程了,那麼如下這些可能看起來十分的簡單;若是你曾經嘗試過教新手們怎麼編程,它們可能就不這麼簡單了。bug