Python 是一門簡單易學,同時又十分強大的編程語言。特別是隨着人工智能的熱潮,Python做爲AI開發的首選語言,已是技術人員的必備技能。html
在學習和開發的過程中,一款趁手的編輯器/IDE猶如神兵利器,必能讓使用者效率飛昇,事半功倍。java
這裏列舉一些經常使用的編輯器/IDE,按照dwSun認爲的推薦度排序。python
沒得說,Python自帶的IDE,裝好Python以後直接就有,也是絕大多數人首次使用的IDE。git
第一款推薦的是一個比較小衆的IDE,可是絕對值得嘗試,由於這貨對標的是matlab,有matlab使用經驗的朋友確定對matlab的IDE印象深入。而spyder的界面也跟matlab的極其類似,變量空間,命令行,代碼區,文件區包羅萬象,特別是命令區直接支持ipython,能夠跟編輯器裏面的代碼直接交互。github
JetBrains出品的IDE,沒錯就是那個在java開發領域用IntelliJ IDEA乾死了Eclipse的JetBrains。PyCharm支持包括但不限於debug、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。至關多的使用者反映PyCharm極其趁手,特別是從Java領域轉過來的親們。編程
注意這個不是Jupyter Notebook,據官方的說法,JupyterLab是Jupyter Notebook的下一代產品,二者在文件格式等方面是兼容的。dwSun的使用經驗,二者在處理ipynb上是徹底同樣的。可是jupyterlab支持命令行等,並且文件瀏覽也更方便,比起notebook側重展現和交互,jupyterlab更像一個功能完整的IDE了。vim
Jupyter及iPython項目的產物,數據科學首選,着重於展現和交互,號稱能夠運行的PPT。sublime-text
Jupyter系列的IDE不是專門針對Python語言的,也能夠運行R等語言。python3.x
缺點:代碼碎片化嚴重,文件管理功能比較弱,不太適合大型項目。默認的代碼提示和高亮不太人性化。瀏覽器
注意事項:由於是基於Web的,因此編輯的文件處理的數據等所有都是在Jupyter的host機器上,不是在瀏覽器所在的本地。插件用起來方便,可是配置比較複雜,不太適合新手摺騰。
Atom就不用說了,github官方出品的編輯器,一幫大牛們合做的產品,值得期待。dwSun本身用的也是Atom。
這裏介紹的是python的編輯器/IDE,atom自身的python支持仍是比較弱的,因此須要經過一些插件加強其功能,這裏介紹兩個我本身在用的插件。
nteract參考jupyter實現的一個功能強大的交互式編輯器,能夠直接在編輯器裏面運行代碼並查看結果,像jupyter同樣。
Atom的另外一個擴展,跟facebook出品的Atom-IDE配合使用,是一個比較完整的IDE。
微軟提供的,基於Atom定製的編輯器,相比與原生Atom,添加了不少方便的功能,性能有了極大的優化提高。插件生態龐大而豐富。
出現比較早的一個萬能編輯器,功能強大,插件豐富。
最強大的編輯器/IDE,不解釋。
與VIM排名不分先後,僅根據字母順序。
最強大的編輯器/IDE,不解釋。
與Emacs排名不分先後,僅根據字母順序。
編輯器與IDE的區別,dwSun認爲,帶debug功能的爲IDE,只有代碼提示,語法高亮之類功能的爲編輯器。可是如今不少先進的編輯器經過插件擴展,也能實現debug,本文不加以嚴格區分。
dwSun從事的更可能是數據分析,人工智能相關,所以這裏給出的編輯器/IDE可能不適合Web開發人員。
某些IDE我本身也沒用過或者太複雜,這裏不作推薦,更詳細的列表請移步這裏。
python2.x系列正在被社區安樂死,dwSun已經徹底遷移到python3.x系列了,因此再也不介紹任何python2.x相關的東西。
這裏介紹的IDE基本都跨Linux/Mac/Win,可是我手裏沒有Mac,Win也懶得折騰,因此沒有仔細驗證。
不少軟件建議用anaconda安裝,可是anaconda的安裝包太大了,dwSun建議用miniconda安裝,其安裝包要小不少,可是功能跟anaconda徹底同樣,只是初始不帶那麼多軟件。
編輯器/IDE不是功能越多越複雜越好,一開始選擇一個趁手的用着就能夠,隨着經驗閱歷的提高,能夠慢慢探索適合本身的編輯器/IDE,甚至本身開發一個。有的時候,你可能須要根據場景,配合幾個不一樣的編輯器/IDE一塊兒用。
工欲善其事,必先利其器。但工具只是工具,關注本身要作的事情纔是關鍵。
有些工具的安裝配置等須要比較好的網絡環境或者FQ。