跳到主要內容

Python程式語言簡介

Python是一種物件導向直譯式電腦程式語言。它包含了一組功能完備的標準庫,能夠輕鬆完成很多常見的任務。它的語法簡單,與其它大多數程式設計語言使用大括弧不一樣,它使用縮進來定義語句塊。

SchemeRubyPerl動態語言一樣,Python垃圾回收功能,能夠自動管理記憶體使用。它經常被當作腳本語言用於處理系統管理任務和網路程式編寫,然而它也非常適合完成各種高階任務。Python虛擬機本身幾乎可以在所有的作業系統中運行。

Python支援命令式程式設計物件導向程式設計函數式編程面向側面的程式設計泛型編程多種編程範式。

l  歷史

1989年的聖誕節期間Python的創始人為(Guido van Rossum),為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程式,作為ABC語言的一種繼承。ABC是由吉多參加設計的一種教學語言。就吉多本人看來,ABC這種語言非常優美和強大,是專門為非專業程式設計師設計的。但是ABC語言並沒有成功,究其原因,吉多認為是非開放造成的。吉多決心在Python中避免這一錯誤,並取得了非常好的效果,完美結合了C和其他一些語言。

就這樣,Python在吉多手中誕生了。實際上,第一個實現是在Mac機上。可以說,Python是從ABC發展起來,主要受到了Modula-3(另一種相當優美且強大的語言)的影響。並且結合了Unix shellC的習慣。目前吉多仍然是Python的主要開發者,決定整個Python語言的發展方向。

Python是完全物件導向的語言。函式、模組、數字、字串都是物件。並且完全支援繼承、重載、衍生、多重繼承,有益於增強原始碼的複用性。Python支援重載運算符,因此Python也支援泛型設計。

Python的支持者較喜歡稱它為一種高階動態程式語言,原因是「腳本語言」泛指僅作簡單程式設計任務的語言,如shell scriptVBScript等只能處理簡單任務的程式語言,並不能與Python相提並論。Python本身被設計為可擴充的。Python提供了豐富的API和工具,以便程式設計師能夠輕鬆地使用CC++Cython來編寫擴充模組。Python編譯器本身也可以被整合到其它需要腳本語言的程式內。使用Python將其他語言編寫的程式進行整合和封裝。

l  設計哲學與定位

Python的設計哲學是「優雅」、「明確」、「簡單」。Python開發者的哲學是「用一種方法,最好是只有一種方法來做一件事」,也因此它和擁有明顯個人風格的其他語言很不一樣。在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確沒有或者很少有歧義的語法。這些準則被稱為「Python格言」。在Python解釋器內運行import this可以獲得完整的列表。

Python開發人員盡量避開不成熟或者不重要的優化。再加上因為Python屬於動態型別語言,動態型別語言是在執行期間檢查資料的類型,不得不保持描述變數值的實際類型標記,程式在每次操作變數時,需要執行資料依賴分支,而靜態型別語言相對於動態型別語言,在聲明變數時已經指定了資料類型和表示方法,根據這一原理導致Python相對於CVisual Basic等靜態型別語言來說執行速度較慢。不過大多數程式對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向於使用JIT技術,或者用使用C/C++語言改寫這部分程式。

l  應用範圍

²  Web程式

Python經常被用於Web開發。比如,通過mod_wsgi模組,Apache可以運行用Python編寫的Web程式。使用Python語言編寫的Gunicorn作為Web伺服器,也能夠執行Python語言編寫的Web程式。Python定義了WSGI標準應用介面來協調Http伺服器與基於PythonWeb程式之間的溝通。一些Web框架,如DjangoPyramidTurboGearsTornadoweb2pyZopeFlask等,可以讓程式設計師輕鬆地開發和管理複雜的Web程式。

Python對於各種網路協定的支援很完善,因此經常被用於編寫伺服器軟體、網路蠕蟲。第三方函式庫Twisted支援非同步線上編寫程式和多數標準的網路協定(包含用戶端和伺服器),並且提供了多種工具,被廣泛用於編寫高效能的伺服器軟體。另有gevent這個流行的第三方庫,同樣能夠支援高效能高並行的網路開發。

²  GUI開發

Python本身包含的Tkinter庫能夠支援簡單的GUI開發。但是越來越多的Python程式設計師選擇wxPython或者PyQtGUI套件來開發跨平台的桌面軟體。使用它們開發的桌面軟體執行速度快,與用戶的桌面環境相契合。通過PyInstaller還能將程式釋出為獨立的安裝程式包。

²  作業系統

在很多作業系統裡,Python是標準的系統元件。大多數Linux發行版和Mac OS X都整合了Python,可以在終端機下直接執行Python。有一些Linux發行版的安裝器使用Python語言編寫。Python標準庫包含了多個調用作業系統功能的函式庫。通過pywin32這個第三方軟體包,Python能夠存取WindowsCOM服務及其它Windows API

 

l  使用Python編寫的著名應用

·         Reddit - 社交分享網站

·         Dropbox - 檔案分享服務

·         豆瓣網 - 圖書、唱片、電影等文化產品的資料資料庫網站

·         Django - 鼓勵快速開發的Web應用框架

·         Twisted - Python的網路應用程式框架

·         Fabric - 用於管理成百上千台Linux主機的程式庫

·         Python Wikipedia Robot Framework - MediaWiki的機器人程式

·         MoinMoinWiki - Python寫成的Wiki程式

·         Trac - 使用Python編寫的BUG管理系統

·         Mailman - 使用Python編寫的郵件列表軟體

·         Mezzanine - 基於Django編寫的內容管理系統系統

·         Webpy - PythonWeb框架

·         Bottle - PythonWeb框架

·         EVE - 網路遊戲EVE大量使用Python進行開發

·         Blender - 使用Python作為建模工具與GUI語言的開源3D繪圖軟體

·         知乎 - 一個問答網站

 

 

 

資料來源:維基百科

時間類別單位標題發佈
跳至網頁頂部