python是一種解析性的,互動式的,開源的面向對象的程式設計語言,類似于perl、tcl、scheme或java。
python是一種面向對象、直譯式的計算機程式設計語言,也是一種功能強大的通用型語言,已經具有二十多年的發展曆史,成熟且穩定。它包含了一組完善而且容易了解的标準庫,能夠輕松完成很多常見的任務。python的文法非常簡捷和清晰,與其它計算機程式設計語言最大的不同在于,它采用縮進來定義語句塊。
python的官方介紹是:python是一種簡單易學,功能強大的程式設計語言,它有高效率的高層資料結構,能簡單而有效地實作面向對象程式設計。python簡潔的文法和對動态輸入的支援,再加上解釋性語言的本質,使得它在大多數平台上的很多領域都是一個理想的腳本語言,特别适用于快速的應用程式開發。
python支援指令式程式設計、面向對象程式設計、函數式程式設計、面向切面程式設計、泛型程式設計多種程式設計範式。與scheme、ruby、perl、tcl等動态語言一樣,python具備垃圾自動回收功能,能夠自動管理記憶體使用。python經常被當作腳本語言用于處理系統管理任務和web程式設計,然而它也非常适合完成各種高階任務。python虛拟機本身幾乎可以在所有的作業系統中運作。使用一些諸如py2exe、pypy、pyinstaller之類的工具可以将python源代碼轉換成可以脫離python解釋器執行的程式。
python的主要參考實作是cpython,它是一個由社群驅動的自由軟體。目前由python軟體基金會管理。基于這種語言的相關技術正在飛速的發展,使用者數量急劇擴大,相關的資源非常多。
python - 曆史由來
python 是一種開源的面向對象的腳本語言,它起源于1989年末,當時,cwi(阿姆斯特丹國家數學和計算機科學研究所)的研究員guido van rossum需要一種進階腳本程式設計語言,為其研究小組的amoeba分布式作業系統執行管理任務。為建立新語言,他從進階數學語言abc(all basic code)汲取了大量文法,并從系統程式設計語言modula-3借鑒了錯語處理機制。van rossum把這種新的語言命名為python(大蟒蛇)---來源于bbc當時正在熱播的喜劇連續劇“monty python”。
python 于1991年初公開發行,由于功能強大和采用開源方式發行,python的發展得很快,使用者越來越多,形成了一個強大的社群力量。2001年, python的核心開發團隊移師digital creations公司,該公司是zope(一個用python編寫的web應用伺服器)的創始者。大家可到http://www.python.org/上了解最新的python動态和資料 。
python - 功能介紹
python是一種很靈活的語言,能幫你輕松完成程式設計工作。并可作為一種原型開發語言,加快大型程式的開發速度。
python有多種資料類型:numbers,strings (ascii 和 unicode),lists,dictionaries。
python支援類和多層繼承等面向對象程式設計技術。
python代碼能打包成子產品和包,友善管理和釋出。
python支援異常處理,能有效捕獲和處理程式中發生的錯誤。
python具有強大的動态資料類型,不同資料類型相加會引發一個異常。
python支援如生成器和清單嵌套等進階程式設計功能。
python支援自動記憶體碎片管理,有效利用記憶體資源。
python有強大的類庫支援,使編寫檔案處理、正規表達式,網絡連接配接等程式變得相當容易。
python的互動指令行子產品能友善地進行小代碼調試和學習。
python易于擴充,可以通過c或c++編寫的子產品進行功能擴充。
python解析器可作為一個程式設計接口嵌入一個應用程式中。
python可運作在多種計算機平台和作業系統中,如各位unix,linux,windows,macos,os/2等等。
python是開源的,可自由免費使用和釋出,并且可用于商業用途以擷取利潤。
python - 應用範圍
系統程式設計,能友善進行系統維護和管理。
圖形處理,有pil、tkinter等圖形庫支援,能友善進行圖形處理。
數學處理,numpy擴充提供大量與許多标準數學庫的接口。
文本處理,python提供的re子產品能支援正規表達式,還提供sgml,xml分析子產品,許多程式員利用python進行xml程式的開發。
資料庫程式設計,程式員可通過遵循python db-api(資料庫應用程式程式設計接口)規範的子產品與microsoft sql server,oracle,sybase,db2,mysql等資料庫通信。python自帶有一個gadfly子產品,提供了一個完整的sql環境。
網絡程式設計,提供豐富的子產品支援sockets程式設計,能友善快速地開發分布式應用程式。
web開發,web應用的開發語言,支援最新的xml技術。
多媒體應用,python的pyopengl子產品封裝了“opengl應用程式程式設計接口”,能進行二維和三維圖像處理。pygame子產品可用于編寫遊戲軟體。
python - 特點
簡單:python是一種代表簡單主義思想的語言。閱讀一個良好的python程式就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!python的這種僞代碼本質是它最大的優點之一。它使你能夠專注于解決問題而不是去搞明白語言本身。
易學:就如同你即将看到的一樣,python極其容易上手。前面已經提到了,python有極其簡單的文法。
開源:python是floss(自由/開放源碼軟體)之一。簡單地說,你可以自由地釋出這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟體中。floss是基于一個團體分享知識的概念。這是為什麼python如此優秀的原因之一,它是由一群希望看到一個更加優秀的python的人創造并經常改進着的。
高層語言:當你用python語言編寫程式的時候,你無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節。
可移植性:由于它的開源本質,python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。如果你小心地避免使用依賴于系統的特性,那 麼你的所有python程式無需修改就可以在下述任何平台上面運作。這些平台包括linux、windows、freebsd、macintosh、 solaris、os/2、amiga、aros、as/400、beos、os/390、z/os、palm os、qnx、vms、psion、acom risc os、vxworks、playstation、sharp zaurus、windows ce甚至還有pocketpc和symbian。
解釋性:這一點需要一些解釋。一個用編譯性語言比如c或c++寫的程式可以從源檔案(即c或c++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的标記、選項完成。當你運作你的程式的時候,連接配接/轉載器軟體把你的程式從硬碟複制到記憶體中并且運作。而python語言寫的程式不需要編譯成二進制代碼。你可以直接從源代碼運作程式。在計算機内部,python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言并運作。事實上,由于你不再需要擔心如何編譯程式,如何確定連接配接轉載正确的庫等等,所有這一切使得使用python更加簡單。由于你隻需要把你的python程式拷貝到另外一台計算機上,它就可以工作了,這也使得你的python程式更加易于移植。
面向對象:python即支援面向過程的程式設計也支援面向對象的程式設計。在“面向過程”的語言中,程式是由過程或僅僅是可重用代碼的函數建構起來的。在“面向對象”的語言中,程式是由資料和功能組合而成的對象建構起來的。與其他 主要的語言如c++和java相比,python以一種非常強大又簡單的方式實作面向對象程式設計。
可擴充性:如果你需要你的一段關鍵代碼運作得更快或者希望某些算法不公開,你可以把你的部分程式用c或c++編寫,然後在你的python程式中使用它們。
可嵌入性:你可以把python嵌入你的c/c++程式,進而向你的程式使用者提供腳本功能。
豐富的庫:python标準庫确實很龐大。它可以幫助你處理各種工作,包括正規表達式、文檔生成、單元測試、線程、資料庫、網頁浏覽器、cgi、ftp、電子郵件、xml、xml-rpc、html、wav檔案、密碼系統、gui(圖形使用者界面)、tk和其他與系統有關的操作。記住,隻要安裝了python,所有這些功能都是可用的。這被稱作python的“功能齊全”理念。除了标準庫以外,還有許多其他高品質的庫,如wxpython、 twisted和python圖像庫等等。