Python是純粹的
自由軟件,
源代碼和
解釋器CPython遵循
GPL(
GNU General Public License)協議[2]
。Python語法簡潔清晰,特點之一是強制用空白符(white space)做爲語句縮進。
Python具備豐富和強大的庫。它常被暱稱爲
膠水語言,可以把用其餘語言製做的各類模塊(尤爲是
C/
C++)很輕鬆地聯結在一塊兒。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),而後對其中[3]
有特別要求的部分,用更合適的語言改寫,好比
3D遊戲中的圖形渲染模塊,性能要求特別高,就能夠用C/C++重寫,然後封裝爲Python能夠調用的擴展類庫。須要注意的是在您使用擴展類庫時可能須要考慮平臺問題,某些可能不提供
跨平臺的實現。
7月20日,IEEE發佈2017年編程語言排行榜:Python高居首位[4]
。
自從20世紀90年代初Python語言誕生至今,它已被逐漸普遍應用於系統管理任務的處理和
Web編程。
Python的創始人爲Guido van Rossum。1989年聖誕節期間,在
阿姆斯特丹,Guido爲了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作爲ABC 語言的一種繼承。之因此選中Python(大蟒蛇的意思)做爲該編程語言的名字,是由於他是一個叫Monty Python的喜劇團體的
愛好者。ABC是由Guido參加設計的一種
教學語言。就Guido本人看來,ABC 這種語言很是優美和強大,是專門爲非專業程序員設計的。可是ABC語言並無成功,究其緣由,Guido 認爲是其非開
標識
放形成的。Guido 決心在Python 中避免這一錯誤。同時,他還想實如今ABC 中閃現過但不曾實現的東西。
就這樣,Python在Guido手中誕生了。能夠說,Python是從ABC發展起來,主要受到了Modula-3(另外一種至關優美且強大的語言,爲小型團體所設計的)的影響。而且結合了
Unix shell和C的習慣。
Python[5]
已經成爲最受歡迎的程序設計語言之一。2011年1月,它被
TIOBE編程語言排行榜評爲2010年度語言。自從2004年之後,python的使用率呈線性增加[6]
因爲Python語言的
簡潔性、易讀性以及可擴展性,在國外用Python作科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計
課程。例如
卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用Python語言講授。衆多開源的科學計算軟件包都提供了Python的調用
接口,例如著名的計算機視覺庫
OpenCV、三維可視化庫VTK、醫學圖像處理庫ITK。而Python專用的科學計算擴展庫就更多了,例如以下3個十分經典的科學計算擴展庫:NumPy、SciPy和matplotlib,它們分別爲Python提供了快速數組處理、數值運算以及繪圖功能。所以Python語言及其衆多的擴展庫所構成的開發環境十分適合
工程技術、科研人員處理實驗數據、製做圖表,甚至開發科學計算
應用程序。
提及科學計算,首先會被提到的多是
MATLAB。然而除了MATLAB的一些專業性很強的工具箱還沒法替代以外,MATLAB的大部分經常使用功能均可以在Python世界中找到相應的擴展庫。和MATLAB相比,用Python作科學計算有以下優勢:
● 首先,MATLAB是一款商用軟件,而且價格不菲。而Python徹底免費,衆多開源的
科學計算庫都提供了Python的調用接口。用戶能夠在任何計算機上免費安裝Python及其絕大多數擴展庫。
● 其次,與MATLAB相比,Python是一門更易學、更嚴謹的程序設計語言。它能讓用戶編寫出更易讀、易維護的代碼。
● 最後,MATLAB主要專一於工程和科學計算。然而即便在計算領域,也常常會遇到文件管理、
界面設計、
網絡通訊等各類需求。而Python有着豐富的擴展庫,能夠輕易完成各類高級任務,開發者能夠用Python實現完整應用程序所需的各
R是統計領域普遍使用的誕生於1980年左右的
S語言的一個分支。能夠認爲R是S語言的一種實現。而S語言是由AT&T貝爾實驗室開發的一種用來進行數據探索、統計分析和做圖的
解釋型語言。最初S語言的實現版本主要是
S-PLUS。S-PLUS是一個
商業軟件,它基於S語言,並由MathSoft公司的統計科學部進一步完善。後來新西蘭奧克蘭大學的Robert Gentleman和Ross Ihaka及其餘志願人員開發了一個R系統。由「R開發核心團隊」負責開發。R能夠看做貝爾實驗室(AT&T BellLaboratories)的RickBecker,JohnChambers和AllanWilks開發的S語言的一種實現。固然,S語言也是S-Plus的基礎。因此,二者在程序語法上能夠說是幾乎同樣的,可能只是在函數方面有細微差異,程序十分容易地就能移植到一程序中,而不少一的程序只要稍加修改也能運用於R。
R做爲一種統計分析軟件,是集統計分析與圖形顯示於一體的。它能夠運行於UNIX,Windows和Macintosh的操做系統上,並且嵌入了一個很是方便實用的幫助系統,相比於其餘統計分析軟件,R還有如下特色:
1.R是自由軟件。這意味着它是徹底免費,開放源代碼的。能夠在它的網站及其鏡像中下載任何有關的安裝程序、源代碼、程序包及其源代碼、文檔資料。標準的安裝文件身自身就帶有許多模塊和內嵌統計函數,安裝好後能夠直接實現許多經常使用的統計功能。[2]
2.R是一種可編程的語言。做爲一個開放的統計編程環境,語法通俗易懂,很容易學會和掌握語言的語法。並且學會以後,咱們能夠編制本身的函數來擴展示有的語言。這也就是爲何它的更新速度比通常統計軟件,如,SPSS,SAS等快得多。大多數最新的統計方法和技術均可以在R中直接獲得。[2]
3. 全部R的函數和數據集是保存在程序包裏面的。只有當一個包被載入時,它的內容才能夠被訪問。一些經常使用、基本的程序包已經被收入了標準安裝文件中,隨着新的統計分析方法的出現,標準安裝文件中所包含的程序包也隨着版本的更新而不斷變化。在另外版安裝文件中,已經包含的程序包有:base一R的基礎模塊、mle一極大似然估計模塊、ts一時間序列分析模塊、mva一多元統計分析模塊、survival一輩子存分析模塊等等.[2]
4.R具備很強的互動性。除了圖形輸出是在另外的窗口處,它的輸入輸出窗口都是在同一個窗口進行的,輸入語法中若是出現錯誤會立刻在窗口口中獲得提示,對之前輸入過的命令有記憶功能,能夠隨時再現、編輯修改以知足用戶的須要。輸出的圖形能夠直接保存爲JPG,BMP,PNG等圖片格式,還能夠直接保存爲PDF文件。另外,和其餘編程語言和數據庫之間有很好的接口。[2]
5.若是加入R的幫助郵件列表一,天天均可能會收到幾十份關於R的郵件資訊。能夠和全球一流的統計計算方面的專家討論各類問題,能夠說是全世界最大、最前沿的統計學家思惟的彙集地.[2]
R是基於S語言的一個GNU項目,因此也能夠看成S語言的一種實現,一般用S語言編寫的代碼均可以不做修改的在R環境下運行。 R的語法是來自Scheme。R的使用與S-PLUS有不少相似之處,這兩種語言有必定的兼容性。S-PLUS的使用手冊,只要稍加修改就可做爲R的使用手冊。因此有人說:R,是S-PLUS的一個「克隆」。
可是請不要忘了:R是免費的(R is free)。R語言源代碼託管在github,具體地址能夠看參考資料。[3]
。
R語言的下載能夠經過CRAN的鏡像來查找。
R語言有域名爲.cn的下載地址,有六個,其中兩個由Datagurn,由
中國科學技術大學提供的。R語言Windows版,其中由兩個下載地點是Datagurn和
USTC提供的。