一般來講,每一個程序員都有本身趁手的兵器:代碼編輯器。你要是讓他換個開發環境,恐怕開發效率至少降低三成。然而,每一個人對編輯器的喜愛各不相同,甚至引起出諸如「神的編輯器」與「編輯器之神」這種信仰之爭。但也正因而可知,個性化的編輯器對於一個程序員的重要性。python
對編程新手來講,開發環境的選擇經常成爲入門後的第一道坎。由於搗鼓了半天沒能成功運行代碼而被迫從入門到放棄的情景並很多見。初上手時選擇的編輯器是否易用也會直接影響你的學習熱情。程序員
今天就來說講我對 Python 編輯器的經驗。算法
咱們用來寫 Python 的工具備兩類:編程
一種是被稱爲 IDE 的集成開發環境,它們爲開發而生。如 IDLE、PyCharm、Spyder 等。服務器
另外一種更像是文本編輯器,只不過比較強大,能夠支持編寫和運行代碼。如 SublimeText、Emacs、Vim 等。在此我主要介紹下我我的日常用的幾款。微信
1. IDLEecharts
講真,再怎麼下降標準,IDLE 恐怕也算不上一個「好」的編輯器。不管是自動補全、語法提示,仍是項目文件管理,甚至是高亮提示,它要麼不支持,要麼支持得很勉強。「用戶體驗」基本沒有,更要命的是,常常在某些系統或某些版本下沒法運行或沒法輸入。編輯器
但沒辦法,人是親兒子啊!安裝完 Python 什麼配置都不用作(甚至不用理會環境變量),就能夠用它來編寫和運行代碼了。對一個沒什麼計算機基礎的新人來講,還要啥自行車要啥手錶呢?直接寫就完啦!工具
因此在個人零基礎教程,以及其餘很多入門級教程裏,都把 IDLE 當作了一開始的演示開發環境。但我不得不強調下,IDLE 僅僅是編程世界的敲門磚,它讓你快速上手,但不可能陪你走下去。儘早去尋找屬於你的工具吧。學習
2. SublimeText
Sublime 是一個功能豐富的文本編輯器。除了寫 Python 外,我也會拿它寫一寫其餘代碼如 JS、HTML、CSS,而且它也是我平常使用的記事本和文本編輯器。大家看到的大多數微信推送文章,最初的草稿都是是用 Sublime 寫成的。
默認安裝後,若是你的電腦上已裝好 Python,Sublime 就能夠運行 .py 文件,而且具備語法提示、補全的功能。不支持更復雜的語法檢查,也不支持控制檯輸入(input),但能夠經過安裝額外插件來補充功能。若是你電腦上有多個版本的 Python,選擇起來也稍複雜。所以我常年打開着 Sublime,寫一些代碼片斷,或者審覈學員提交的做業時使用。
Sublime 是收費軟件,但能夠無償使用。
3. PyCharm
這是我在課程中和答疑羣裏主要推薦的開發工具。除了一開始配置可能會遇到點麻煩,以及啓動時間略慢之外,真的是很好用。PyCharm 在項目內部提供了對編碼、第三方庫的管理,造成一個小的沙盒,避免系統中其餘的配置對開發環境形成的干擾,讓新手少踩點坑。不過有點不幸的是:若是你沒有按照它設想的那樣配置好,有可能所以踩到新的坑。
我我的用 PyCharm 作的開發主要是課程和演示項目。若是你在使用其餘編輯器時遇到問題,不妨同個人例子保持一致試試,減小沒必要要的折騰。
PyCharm 也是收費軟件,但有免費的社區版和教育版(需申請)。我用的就是社區版,功能足夠學習了。若是你必定須要漢化版或者專業版,可自行網上搜索。
4. IPython
IPython 是一個交互式的開發環境,也就是咱們課程一開始用過的 Python Shell 的增強版。經過 pip install ipython 便可安裝。主要是增長了自動補全和歷史命令記錄,語法高亮也看着舒服點。但新手可能不太會用到。若是你到了上服務器運行代碼的階段,那必定得裝一個。
同 Sublime 同樣,IPython 我也一直開着。由於交互式的環境很適合調試幾句代碼,測試一下某個語法的特性,看看某個模塊裏方法的調用,甚至用 help() 命令去看文檔。看過我答疑的同窗也知道,我常常是針對問題在 IPython 裏運行一段代碼貼過去。我強烈建議你們養成運行代碼的習慣,尤爲是在你看書看教程的時候,不要光顧着看,必定把編輯器開着隨時敲一敲代碼跑一跑。不少問題經過幾回嘗試天然就領會了。
5. Jupyter
也就是 IPython Notebook。它至關因而把上面提到的 IPython 作成了網頁版,但又不只僅是網頁版。
我以前不多用,但最近有點愛上它:由於用它來寫爬蟲或數據分析實在太舒服了!寫爬蟲的時候免不了反覆嘗試,有了交互式的 Jupyter,你能夠步步爲營,逐步修正你的代碼,而不用每次都從頭抓。數據分析則是由於它和 matplotlib 以及 echarts 都結合得很好,無需彈窗,頁面上直接顯示繪圖結果。
對於想深刻數據分析的同窗,拿一本《利用 Python 進行數據分析》,再就着一個開着的 Jupyter 頁面,一個個例子去玩吧。
另外,由於是網頁版的,因此若是你有服務器的話,甚至能夠用它作一個隨時隨地寫代碼的在線版 Python 工具。不過本身用用就好,千萬不要直接對外公佈,它會把你的服務器環境暴露在外。
5.Emacs
終於來了,神的編輯器。
這是多年開發的老習慣。大家看到的編程教室網站就是在 Emacs 上寫成的。但這個門檻較高,也不存在推薦了,你們看看就好。
爲了用 Emacs 我都改了本身的鍵位。最近手指有點疼,考慮是否是再加個腳踏板。
以上是我經常使用的編輯器。算是有點分裂,不過確實各有各的優點。因此不必爭論哪一個更好,按本身的須要選擇用着順手的就好。
對於初學,我仍是建議用 PyCharm,功能比較完善,各方面相對均衡。以前寫過兩篇關於 PyCharm 的介紹文章,
公衆號(Crossin的編程教室)裏回覆 PyCharm 能夠看到。
不過彷佛最近的版本又作了一些改動,可能我又得再寫一篇新的了。
而其餘還有很多優秀的編輯器,如評價很好的 VSCode、Atom、Vim、Spyder 等(不推薦 PyScripter),因我本身並沒有長期使用經驗,就不搬運網上的介紹了。若是你在使用或者有興趣,搜索下會有不少教程。有推薦的歡迎留言。但僅我上述說起的幾個其實也足夠用了。
正如標題所說:工欲善其事,必先利其器。選個好的編輯器,學習效率大增,起碼像少半個括號少半個引號這種錯誤就不太會出現了。
不過最終嘛,工具仍是看誰來用。只要你寫得夠多,記事本也能成就大牛。(但認真地說:若是你還不是大牛,任何開發相關的事情都不要用 Windows 自帶的記事本!)
════
其餘文章及回答:
如何自學Python | 新手引導 | 精選Python問答 | Python單詞表 | 區塊鏈 | 人工智能 | 雙11 | 嘻哈 | 爬蟲 | 排序算法 | 我用Python | 高考 | 世界盃 | requests
歡迎搜索及關注:Crossin的編程教室