寫Python程序應該用PyChram、Spyder還是Visual Studio?
工欲善其事,必先利其器。在我們開始學習使用Python之前,選擇一個合適的集成開發環境,也就是IDE,有利於我們快速上手Python,在學習中起到事半功倍的效果。本文就來介紹一下常用的Python IDE工具。
一、IDE的總體分類
IDE總體可以分為兩類,文本工具類和繼承工具類。
文本工具類IDE包括:IDLE、Sublime Text、Notepad++、Vim & Emacs、Atom、Komodo Edit。
集成工具類IDE包括:PyCharm、Anaconda & Spyder、Wing、PyDev & Eclipse、Visual Studio、Canopy。
上面的列舉中,加粗的工具是我推薦的、較為常用的免費Python IDE。
另外,我們還可以把所有的IDE分類為通用型IDE和專註於數據分析的IDE。
在第二節和第三節中,我將分別介紹這兩類IDE。
二、通用類型的Python IDE
(一)IDLE
IDLE是Python自帶的、默認的、入門級編寫工具。包含交互式和文件式兩種方式。在交互式中可以編寫一行或者多行語句並且立刻看到結果。在文件式中可以,可以像其他文本工具類IDE一樣編寫。
交互式IDLE文件式IDLE
IDLE適用於Python入門,功能簡單直接,適合300+行代碼以內的程序。
(二)Sublime
Sublilme Text是專門為程序員開發的第三方專用編程工具。幾乎所有專業的程序員都使用類似於Sublime Text類型的編程工具,而不是用集成開發工具。因為專業程序員編寫代碼質量較高,對於調試的需求較低;對於編寫代碼過程的體驗要求較高。
Sublime Text支持代碼高亮、自動補齊、多種顏色搭配等多種編程風格。
Sublime Text包含收費版本和免費版本,兩者功能相同。在不註冊的時候,使用的就是免費版本。
(三)Wing
Wing是非常專業的Python集成工具類IDE。它是由商業公司維護的收費工具。
Wing提供瞭豐富的調試功能,也提供瞭版本控制和版本同步,適合多人共同開發。適合用於編寫數千行至上萬行的程序。
(四)Visual Studio
如果我們之前比較熟悉Visual Studio,則可以通過PTVS來配置基於Visual Studio的Python編程環境。Visual Studio是微軟提供的、在Windows上的編程環境。Visual Studio非常專業,提供瞭豐富的調試功能。
Visual Studio 分為 Community、Professional 和 Enterprise三個版本。其中 community 版本面向學生、開放源代碼和單個開發人員提供免費使用;professional 版本適用於小型團隊;enterprise 版本可以滿足各種規模團隊的需求。各個版本的功能區別看這裡。
Community 版本不能用於“擁有超過 250 臺 PC 或年收入超過 100 萬美元的組織使用”,同時在該組織中不能有超過5個用戶。來源:比較 Visual Studio 產品 | Visual Studio
(五)Eclipse
Eclipse是一個常用的編輯環境,是一個開源的IDE。我們可以通過PyDev在Eclipse裡配置Python的開發環境。
Eclipse是早年為Java程序員開發的IDE,裡面提供瞭很多可以自定義的功能。所以,如果要用Eclipse配置一個Python開發環境,很多地方需要用戶自己來定義,相對比較復雜。需要具備較好的專業經驗,才能配置一個完整的Python IDE環境。
(六)PyChram
PyCharm 是唯一一款專門面向Python的全功能集成開發環境。PyCharm 的產品和 Sublime 一樣,分為社區(免費)版和收費版。我們編寫的絕大多數程序,社區的免費版就可以完成。
PyCharm 是所有的集成類工具中相對簡單且集成度較高的,使用人數最多,適合編寫較大、較復雜的程序。代碼自動補全在同類產品中幾乎是最優秀的。
缺點是太重量級瞭,啟動速度慢,尤其是裝瞭很多的模塊後,啟動更慢占用內忖度。付費的專業版很貴,專業版功能強大復雜性對新手來說不是很友好。
三、科學計算與數據分析領域Python IDE
(一)Canopy
Canopy是由商業公司提供和維護的第三方工具。這個工具收費,且價格較貴。Canopy支持500多個第三方庫,是科學計算領域中集成度較高且使用方便的IDE。
(二)Anaconda
Anaconda是一個第三方、開源、免費的工具,支持800多個第三方庫,包含多個主流的Python開發調試環境,十分適合在數據處理和科學計算的使用。由於Anaconda是一個跨平臺工具,因此它可以很好地在Windows、Linux和OS X上使用。
1.Anaconda的來源
有趣的是,Anaconda和Canopy是由同一個人開發和領導設計的,這個人叫Travis Oliphant。Travis Oliphant是SciPy、NumPy 和 Numba 的創造者,Anaconda, Inc. 的創始人和董事,NumFOCUS 的創始人,以及Quansight的CEO。
在2008年Travis Oliphant領導開發瞭Canopy工具。但是Travis Oliphant的開源開放理念與公司堅持Canopy收費的理念不同。因此在2012年,Travis離開瞭原公司,帶領新的團隊開發瞭免費開源的Anaconda平臺。
由於Anaconda是開源免費的,因此獲得瞭來自全球的優秀工程師共同改進。他們將這個平臺打造得非常好用。
2.Anaconda的實質
Anaconda本身並不是一個開發和調試環境,而是一個集成各類Python工具的集成平臺,將很多第三方的開發調試環境集成到一起。
也就是說,Anaconda是一個集合,包括conda、某版本Python、一批第三方庫。
3.Anaconda中的conda
Conda將工具、第三方庫、Python版本、conda都當做包,同等對待。
4.Anaconda中的Spyder
Spyder 是一個編寫和調試 Python 語言非常優秀的第三方工具,python 之父參與開發。Spyder 的窗口分為三個區域,左側是編輯區,用來寫代碼。右上是文件導航和幫助區,這裡可以查看相關區域的文件信息,實際是用中這部分不太用得到。右下是IPython區,這裡對於運行的輸入做相關響應,用來做調試。
Sypder 的優點是,啟動速度較快,可以查看變量,這軟件基本就是模仿matlab一樣,對數據分析者非常的實用,功能簡單,很容易上手,同企業200人以內使用是免費的。
Spyder 幾乎可以幫助我們應對在數據處理和科學計算方面的所有需求。
5.Anaconda中的IPython
IPython是一個能調用Python解釋器的交互式編程環境,是一個強大的交互式Shell,能夠顯示很多的圖形圖像,適合進行交互式的數據可視化、以及和GUI相關應用。IPython是一個前臺的顯示腳本,核心的執行功能在後臺的Python解釋器。
Anaconda中的Jupyter,就是調用IPython的第三方開放接口來實現其豐富功能的。
在IPython中,輸入“一個變量/函數的名字”+“問號?”,例如變量的類型、值、描述信息,或者函數的源代碼。
如果要在IPython中執行python文件,可以用%run命令。例如“ %run demo.py”就會執行demo.py這個文件。註意,%run在一個空的命名空間執行%,因此這個程序必須在其內部包含足夠的import變量,使得demo.py可以不借助於現有的命名空間來執行。
這裡的“%”叫魔術命令。
常用命令 | 說明 |
---|---|
%magic | 顯示所有的魔術命令 |
%hist | IPython命令的輸入歷史 |
%pdb | 異常發生後自動進入調試器 |
%reset | 刪除當前命名空間中的全部變量或名稱 |
%who | 顯示IPython當前命名空間中已經定義的變量 |
%time statement | 給出代碼的實行時間,statement表示一段代碼 |
%timeit statement | 多次實行代碼,計算綜合平均執行時間,用於評估性能關鍵的程序。 |
這些工具在編寫和調試Python程序的時候十分常用。
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部