1. Python語言 1.1 編程語言 語言是人類最重要的交際工具,是人類之間進行信息交換的主要表達方式。 編程語言是用來定義電腦程式的語言,用來向電腦發出指令。 1.2 Python語言 Python語言是一種面向對象的解釋型電腦程式設計語言。 Python語言創始人為吉多·範羅蘇姆(Gu ...
1. Python語言
1.1 編程語言
語言是人類最重要的交際工具,是人類之間進行信息交換的主要表達方式。
編程語言是用來定義電腦程式的語言,用來向電腦發出指令。
1.2 Python語言
Python語言是一種面向對象的解釋型電腦程式設計語言。
Python語言創始人為吉多·範羅蘇姆(Guido van Rossum)
2. Python語言特點
2.1 優點
簡單:
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以及Google基於linux開發的Android平臺!
解釋性:
這一點需要一些解釋。一個用編譯性語言比如C或C++寫的程式可以從源文件(即C或C++語言)轉換到一個你的電腦使用的語言(二進位代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程式的時候,連接/轉載器軟體把你的程式從硬碟複製到記憶體中並且運行。而Python語言寫的程式不需要編譯成二進位代碼。你可以直接從源代碼運行程式。在電腦內部,Python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成電腦使用的機器語言並運行。事實上,由於你不再需要擔心如何編譯程式,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由於你只需要把你的Python程式拷貝到另外一臺電腦上,它就可以工作了,這也使得你的Python程式更加易於移植。
面向對象:
Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程式是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程式是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。
可擴展性:
如果你需要你的一段關鍵代碼運行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。
豐富的庫:
Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。
規範的代碼:
Python採用強制縮進的方式使得代碼具有極佳的可讀性。
2.2 缺點
運行速度慢:
如果對速度有要求的話,建議使用C++改寫關鍵部分。
國內市場較小:
國內以python來做主要開發的,目前只有一些web2.0公司。但時間推移,目前很多國內軟體公司,尤其是游戲公司,也開始規模使用他。
中文資料匱乏:
托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。
構架選擇太多:
沒有像C#這樣的官方.net構架,也沒有像ruby由於歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程式天下無敵。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。