python簡介

python是少數幾種有實力宣稱自己是集簡便與強大於一體的語言之一。
使用python你會驚奇的發現能夠很輕鬆的將精力集中到解決的問題上而不是語言的語法與結構上。
python語言的官方介紹如下:
       python是一門易於學習,功能強大的程序設計語言。它具有高效的高級數據結構與簡單但有效的面向對象
       編程機制。python那優雅的語法,動態類型與解釋特性使其成爲大多數平臺上理想的腳本和快速開發語言
在下一節我將詳細介紹其中的大多數特性。

 

筆記
     python語言的創始人Guido van Rossum以BBC播出的"巨蟒飛行馬戲團"(Monty Python's Flying Circus)命名python.

     而他本人並不喜歡那些爲了食物捲起長長的身體並壓碎獵物的蛇.

 

python特色
簡單

       python是一門極簡主義語言。閱讀python程序感覺就象是在閱讀英語一樣,雖然這門英語具有嚴格的語法規定!
       python這種類似僞代碼的特性是它最棒的優點之一。使得你能夠集中精力到所解決的問題上而不是語言本身.
易學
       你即將看到,python具有非常簡單的語法, 很容易上手.
免費並且開源
       python是FLOSS(Free/Fibre and Open Source Software)的一個範例,簡單的說你可以自由分發這個軟件,
       閱讀代碼,進行修改,或是將其部份的用到其他開源軟件中。FLOSS基於社區應該彼此分享知識的理念,
       這也是python如此優秀的原因之一 -- 從它誕生以來就不斷的被一個社區改進,這個社區希望它可以變的更好.

高級語言
       當你使用python編程時無需顧慮底層細節,比如存儲器管理.
可移植
       由於python的開源特性,它已經被移植到很多平臺。只要注意避免平臺相關調用你的python程序就可以運行在所有這些平臺之上。
       其中包括Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, 
       z/OS, Palm OS, ONX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE 
       甚至PocketPC!

解釋性
       這裏需要說明一下, 由編譯型語言諸如C/C++編寫的源代碼會被編譯器轉換爲機器可以執行的語言(機器語言,0和1的組合),
       其中編譯器擁有一些列的標誌與選項控制它的編譯方式. 當你運行程序時鏈接/加載器會將程序從磁盤拷貝到內存然後執行之。
       與之相反python程序不需要被編譯成二進制碼,程序直接在源代碼級"運行".
       但在內部,python會將源碼轉換爲被稱爲字節碼的中間碼形式之後再將其翻譯爲所在計算機的本地碼最後運行之。

       如此,使用python就非常簡便了,因爲省去了編譯過程也用不着考慮如何連接/加載正確的程序庫.
       這也使得python程序擁有非常好的可移植性,只要將程序拷貝到其他的電腦然後運行就OK了!

面向對象
       python既支持面向過程也支持面向對象編程。在面向過程的語言中,程序圍繞可複用的過程或者函數創建。
       而在面向對象的語言中,程序圍繞可以組合數據與相應操作的對象創建。
       python以一種非常強大但又簡明的方式支持OOP(注: 面向對象編程),與那些龐大的語言相比(諸如c++/java)這點更爲突出.

可擴展
       如果你需要讓關鍵代碼運行的更快或是希望算法的某部分避免公開,可以使用c或c++編寫它們並在python中進行調用。
可嵌入
       可以將python嵌入到你的C/C++程序中給予用戶使用腳本的能力.

豐富的程序庫
       python標準庫已經非常龐大, 它可以幫助你實現各種任務, 包括正則表達式, 文檔生成, 單元測試, 多線程, 
       數據庫, web瀏覽器, CGI, FTP, 電子郵件, XML, XML-PRC, HTML, wav文件, 加密, GUI(圖形用戶界面), Tk
       以及系統相關功能. 而這一切只需安裝python即可擁有, 此被稱作python的"Batteries Included"哲學.
       除此之外, python還有許多高質量的第三方庫可供使用, 
       wxPython(http://www.wxpython.org), 
       Twisted(http://www.twistedmatrix.com/products/twisted),
       Python Imaging Library(http://www.pythonware.com/products/pil/index.htm)
       等等等等...

python如此強大另人興奮, 它將性能與語言特性良好的組合到一起使得編程成爲一件簡單輕鬆的事情.

 

爲什麼不選擇Perl?
聽說過Perl嗎? 它是另一門非常流行的開源的解釋型程序設計語言.

如果你曾試圖用它編寫大型程序, 我想你自己已經有了這個問題的答案.
換言之, perl擅長小型程序, 這時用起來比較方便. 但是在編寫稍大的程序時perl很快就會變的難以使用.
我可不是信口開河, 這是我在Yahoo!編寫大型perl程序的親身體會.
而與之相比, python更加簡單, 清晰, 容易編寫, 因此也更容易理解與維護.
我個人也是喜歡perl的並且用它解決各種日常問題, 但在編寫前我總是優先考慮python, 可見它已經成爲我的條件反射
了. perl經歷了那麼多的修改與變更, 感覺就象一個超大號補丁語言. 遺憾的是即將到來的perl 6似乎並沒有對此作出任
何改善. 在我看來perl目前唯一的重大優勢就是它的CPAN了(http://cpan.perl.org).
perl資料大全網(Comprehensive Perl Archive Network), 顧名思義一個豐富無比的perl模塊網, 其深廣度另人難以置信,

你幾乎可以利用這些資源完成任何計算機任務. perl比python擁有更多庫的原因之一是它擁有更悠久的歷史.
不過隨着python包索引(Python Package Index)(http://pypi.python.org/pypi)的增長, 這一優勢正在改變.

 

爲什麼不使用Ruby?
也許你還不知道, ruby同樣是一個非常流行的開源的解釋型程序設計語言.
如果你已經喜歡上ruby, 我會明確建議你繼續使用下去. 而對於那些沒有用過ruby並且正在猶豫是學python還是ruby的同學.

純粹以簡單易學的角度我會推薦python. 就個人來說我發現自己真的很難對ruby感冒, 但那些懂ruby的人全都讚歎這門語言的美麗,

很遺憾, 我沒這麼幸運.

 

看看程序員門怎麼說
你可能會對象ESR這樣偉大的黑客們關於python的評論感興趣:
• Eric S. Raymond是"大教堂與集市"(The Cathedral and the Bazaar)的作者也是"開源"一此的創造者.
   他說python已經成爲他非常喜愛的程序設計語言(http://www.linuxjournal.com/article.php?sid=3882)
   也正是這篇文章另我心動, 決定一試python
• Bruce Eckel是著作"java編程思想"(Thinking in Java)和"C++編程思想"(Thinking in C++)的作者
   他說沒有任何語言令他的工作效率如此高. 他還說也許python是唯一一個旨在讓程序員更簡便完成任務的語言.
   更詳盡的訪問內容(http://www.artima.com/intv/aboutme.html)
• Peter Norvig即著名的Lisp語言作者並擔任Google的搜索質量主管(感謝Guido van Rossum指出這點).
   他說python已經成爲Google不可或缺的一部分. 
   事實上你可以通過Google Jobs(http://www.google.com/jobs/index.html)證實這點.

   裏面指出具有python知識是成爲Google軟件工程師的必要條件.

 

關於Python 3.0
python 3.0是python語言的新版本, 有時它被稱做Python 3000或Py3K.
升級的主要原因在於移除一些小問題並將那些累積了數年的毛病解決掉, 使得語言更加整潔.
如果你有很多python 2.x代碼, 這個工具有助於將其轉到3.x代碼(http://docs.python.org/dev/3.0/library/2to3.html)

 

發佈了26 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章